我使用了线性布局,它将具有顶部布局和底部布局。底部布局是滚动视图,它也具有列表视图。我通过添加布局以编程方式完成
,如下所示,
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.details);
lv=(ListView)findViewById(R.id.listView2);
tpaydetail=(TextView)findViewById(R.id.textView39);
back=(ImageButton)findViewById(R.id.imageButton31);
share=(ImageButton)findViewById(R.id.imageButton41);
amountdetail=(TextView)findViewById(R.id.textView29);
intrstdetail=(TextView)findViewById(R.id.textView31);
perioddetail=(TextView)findViewById(R.id.textView33);
Memidetail=(TextView)findViewById(R.id.textView35);
tintdetail=(TextView)findViewById(R.id.textView37);
LinearLayout ll=new LinearLayout(this);
ll.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));
ll.setOrientation(LinearLayout.VERTICAL);
RelativeLayout relativeLayouttop=(RelativeLayout)findViewById(R.id.linearLayout8);
RelativeLayout relativeLayoutbottom=(RelativeLayout)findViewById(R.id.forscrolling);
RelativeLayout mainview=(RelativeLayout)findViewById(R.id.scrolltest);
ScrollView s=new ScrollView(this);
s.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));
mainview.removeAllViews();
relativeLayoutbottom.removeAllViews();
s.addView(relativeLayoutbottom);
relativeLayouttop.removeAllViews();
ll.addView(relativeLayouttop);
ll.addView(s);
setContentView(ll);
我的 xml 代码是,
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/scrolltest">
<RelativeLayout
android:background="#3784ba"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:weightSum="1"
android:id="@+id/linearLayout8">
<ImageButton
android:rotation="90"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="20dp"
android:paddingBottom="12dp"
android:src="@drawable/backarrow"
android:scaleType="fitXY"
android:adjustViewBounds="true"
android:cropToPadding="false"
android:background="#3784ba"
android:layout_width="50dp"
android:layout_height="match_parent"
android:id="@+id/imageButton31"/>
<TextView
android:gravity="center"
android:textColor="#fff"
android:textSize="18dp"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="EMI Details"
android:id="@+id/textView25"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
<ImageButton
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="15dp"
android:paddingBottom="15dp"
android:src="@drawable/sharenew"
android:scaleType="fitXY"
android:adjustViewBounds="true"
android:cropToPadding="false"
android:background="#3784ba"
android:layout_width="50dp"
android:layout_height="match_parent"
android:id="@+id/imageButton41"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:id="@+id/forscrolling"
android:layout_below="@+id/linearLayout8"
android:layout_height="match_parent">
<RelativeLayout
android:background="@drawable/fortablein"
android:layout_margin="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/rl"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:id="@+id/linearLayout9"
android:weightSum="1">
<TextView
android:textSize="16sp"
android:background="@drawable/fortablein"
android:gravity="center"
android:textColor="#000"
android:layout_width="0dp"
android:layout_weight="0.5"
android:layout_height="match_parent"
android:text="Amount"
android:id="@+id/textView28" />
<TextView
android:layout_marginLeft="-0.5dip"
android:textSize="16sp"
android:background="@drawable/fortablein"
android:layout_width="0dp"
android:layout_weight="0.5"
android:layout_height="match_parent"
android:gravity="center"
android:textColor="#000"
android:id="@+id/textView29" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_below="@+id/linearLayout9"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:id="@+id/linearLayout10"
android:weightSum="1">
<TextView
android:layout_marginTop="-0.5dip"
android:textSize="16sp"
android:background="@drawable/fortablein"
android:gravity="center"
android:textColor="#000"
android:layout_width="0dp"
android:layout_weight="0.5"
android:layout_height="match_parent"
android:text="Interest %"
android:id="@+id/textView30" />
<TextView
android:layout_marginLeft="-0.5dip"
android:layout_marginTop="-0.5dip"
android:textSize="16sp"
android:background="@drawable/fortablein"
android:layout_width="0dp"
android:layout_weight="0.5"
android:layout_height="match_parent"
android:gravity="center"
android:textColor="#000"
android:id="@+id/textView31" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_below="@+id/linearLayout10"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:id="@+id/linearLayout11"
android:weightSum="1">
<TextView
android:layout_marginTop="-0.5dip"
android:textSize="16sp"
android:background="@drawable/fortablein"
android:gravity="center"
android:textColor="#000"
android:layout_width="0dp"
android:layout_weight="0.5"
android:layout_height="match_parent"
android:text="Period"
android:id="@+id/textView32" />
<TextView
android:layout_marginLeft="-0.5dip"
android:layout_marginTop="-0.5dip"
android:textSize="16sp"
android:background="@drawable/fortablein"
android:layout_width="0dp"
android:layout_weight="0.5"
android:layout_height="match_parent"
android:gravity="center"
android:textColor="#000"
android:id="@+id/textView33" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_below="@+id/linearLayout11"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:id="@+id/linearLayout12"
android:weightSum="1">
<TextView
android:layout_marginTop="-0.5dip"
android:textSize="16sp"
android:background="@drawable/fortablein"
android:gravity="center"
android:textColor="#000"
android:layout_width="0dp"
android:layout_weight="0.5"
android:layout_height="match_parent"
android:text="Monthly EMI"
android:id="@+id/textView34" />
<TextView
android:layout_marginLeft="-0.5dip"
android:layout_marginTop="-0.5dip"
android:textSize="16sp"
android:background="@drawable/fortablein"
android:layout_width="0dp"
android:layout_weight="0.5"
android:layout_height="match_parent"
android:gravity="center"
android:textColor="#000"
android:id="@+id/textView35" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="40dp"
android:id="@+id/lll"
android:layout_below="@+id/linearLayout12"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:weightSum="1">
<TextView
android:layout_marginTop="-0.5dip"
android:textSize="16sp"
android:background="@drawable/fortablein"
android:gravity="center"
android:textColor="#000"
android:layout_width="0dp"
android:layout_weight="0.5"
android:layout_height="match_parent"
android:text="Total Interest"
android:id="@+id/textView36" />
<TextView
android:layout_marginLeft="-0.5dip"
android:layout_marginTop="-0.5dip"
android:textSize="16sp"
android:background="@drawable/fortablein"
android:layout_width="0dp"
android:layout_weight="0.5"
android:layout_height="match_parent"
android:gravity="center"
android:textColor="#000"
android:id="@+id/textView37" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_below="@+id/lll"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:weightSum="1">
<TextView
android:layout_marginTop="-0.5dip"
android:textSize="16sp"
android:background="@drawable/fortablein"
android:gravity="center"
android:textColor="#000"
android:layout_width="0dp"
android:layout_weight="0.5"
android:layout_height="match_parent"
android:text="Total Payment"
android:id="@+id/textView38" />
<TextView
android:layout_marginLeft="-0.5dip"
android:layout_marginTop="-0.5dip"
android:textSize="16sp"
android:background="@drawable/fortablein"
android:layout_width="0dp"
android:layout_weight="0.5"
android:layout_height="match_parent"
android:gravity="center"
android:textColor="#000"
android:id="@+id/textView39" />
</LinearLayout>
</RelativeLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="45dp"
android:id="@+id/linear"
android:background="#3784ba"
android:layout_below="@+id/rl"
android:weightSum="1">
<TextView
android:textSize="16sp"
android:layout_width="0dp"
android:layout_weight="0.25"
android:layout_height="match_parent"
android:gravity="center"
android:textColor="#fff"
android:text="Month"
android:id="@+id/textView212" />
<TextView
android:textSize="16sp"
android:layout_width="0dp"
android:layout_weight="0.25"
android:layout_height="match_parent"
android:gravity="center"
android:textColor="#fff"
android:text="Principal"
android:id="@+id/textView222" />
<TextView
android:textSize="16sp"
android:layout_width="0dp"
android:layout_weight="0.25"
android:layout_height="match_parent"
android:gravity="center"
android:textColor="#fff"
android:text="Interest"
android:id="@+id/textView232" />
<TextView
android:textSize="16sp"
android:layout_width="0dp"
android:layout_weight="0.25"
android:layout_height="match_parent"
android:gravity="center"
android:textColor="#fff"
android:text="Balance"
android:id="@+id/textView242" />
</LinearLayout>
<ListView
android:scrollbars="none"
android:nestedScrollingEnabled="false"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/listView2"
android:layout_below="@+id/linear" />
</RelativeLayout>
</RelativeLayout>
在这里,当我运行它时,这些布局中使用的文本视图是不可见的。我的代码有问题吗?请指导我。
谢谢!
默认情况下,ListView 是可滚动的。不要将滚动视图放在列表视图中。因此,删除滚动视图并使列表换行内容。
快乐编码!!
如果要动态创建视图,则不要先在onCreate
中使用setContentView()
,如果需要视图,请使用LayoutInflower来膨胀布局,然后从中提取视图。
使用当前代码Activity
我可以看到的问题是视图设置了两次,导致工作量过多。
relativeLayoutbottom.removeAllViews();
检查上面的行,您要从布局中删除所有视图并将其添加到ScrollView
即; s.addView(relativeLayoutbottom);
请检查您的布局通行证是否正确。
谢谢大家。最后我找到了一个解决方案:
我为顶部布局创建了单独的布局,相对布局位于列表视图和列表视图之上。然后我将相对布局作为标题视图添加到列表视图,而不是使用滚动视图,如下所示,
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
topview=getLayoutInflater().inflate(R.layout.details,null);
scrollview=getLayoutInflater().inflate(R.layout.scrollingrelativelayout,null);
listview=getLayoutInflater().inflate(R.layout.listviewxml,null);
lv=(ListView)listview.findViewById(R.id.listView2);
lv.addHeaderView(scrollview);
LinearLayout forscrolltest=new LinearLayout(this);
forscrolltest.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT));
forscrolltest.setOrientation(LinearLayout.VERTICAL);
forscrolltest.addView(topview);
forscrolltest.addView(lv);
setContentView(forscrolltest);
它正在工作。:)