我使用了线性布局,它具有顶部布局和底部布局。底部布局是scrollview,它也有listview。 我通过添加如下布局来以编程方式完成它,
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>
此处,在我运行时,这些布局中使用的文本视图不可见。我的代码有问题吗?请指导我。
谢谢!
答案 0 :(得分:0)
默认情况下,ListView是可滚动的。不要将ScrollView放到ListView中。所以删除scrollview并制作列表包装内容。
快乐的编码!!
答案 1 :(得分:0)
如果您想动态创建视图,请不要先在setContentView()
中使用onCreate
,如果您想要视图,请使用LayoutInflater来扩充布局,然后从中提取视图。
使用当前代码,我看到的问题是Activity
视图设置了两次导致了太多的工作。
relativeLayoutbottom.removeAllViews();
检查以上行是否从布局中删除所有视图并将其添加到ScrollView
,即; s.addView(relativeLayoutbottom);
请检查您的布局通行证是否正确。
答案 2 :(得分:0)
谢谢大家。最后我找到了解决方案:
我为顶部布局创建了单独的布局,相对布局在listview和listview之上。然后我将相对布局作为headerview添加到listview而不是使用scrollview ,如下所示,
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);
它正在发挥作用。 :)