2013-02-19 56 views
0

像下面的布局显示的那样,当列表中的项目太多时,会出现多个屏幕。无法看到RelativeLayout内容

我向下拖动时看不到以下LinearLayout内容。

如何解决这个问题?

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <ListView 
     android:id="@+id/list" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" > 
    </ListView> 

    <LinearLayout 
     android:id="@+id/linearLayout1" 
     android:layout_width="wrap_content" 
     android:layout_height="100dp" 
     android:layout_below="@+id/list" 
     android:layout_centerHorizontal="true" 
     android:orientation="horizontal" > 

     <TextView 
      android:id="@+id/UserIDStatic" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="@string/UserID" /> 
     . 
     . 
     . 
    </LinearLayout> 

</RelativeLayout> 

在此先感谢!

+0

尝试使用''列表视图,而不是 – SudoRahul 2013-02-19 07:38:46

+0

放hieght或将滚动视图在乌拉圭回合布局... – duggu 2013-02-19 07:46:12

回答

0

改变这种

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <ListView 
     android:id="@+id/list" 
     android:layout_width="match_parent" 
     android:layout_height="100dp" > <!-- use a definate dimension here --> 
    </ListView> 

    <LinearLayout 
     android:id="@+id/linearLayout1" 
     android:layout_width="wrap_content" 
     android:layout_height="100dp" 
     android:layout_below="@+id/list" 
     android:layout_centerHorizontal="true" 
     android:orientation="horizontal" > 

     <TextView 
      android:id="@+id/UserIDStatic" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="@string/UserID" /> 
     . 
     . 
     . 
    </LinearLayout> 

</RelativeLayout> 

要不然就把两者ListViewLinearLayoutScrollView

或波纹管评论

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
android:weightSum="1" 
android:orientatio="verticle" > 

     <ListView 
      android:id="@+id/list" 
      android:layout_weight="0.5" 
      android:layout_width="match_parent" 
      android:layout_height="0dp" > 
     </ListView> 

     <LinearLayout 
      android:id="@+id/linearLayout1" 
      android:layout_width="wrap_content" 
      android:layout_height="0dp" 
      android:layout_weight="0.5" 


      android:orientation="horizontal" > 

      <TextView 
       android:id="@+id/UserIDStatic" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="@string/UserID" /> 
      . 
      . 
      . 
     </LinearLayout> 

    </LinearLayout> 
+2

一个更好的解决办法可能是把列表视图在一个单独的线性布局,也改变了相对布局的线性一个,并使用[权重](http://developer.android.com/guide/topics/ui/layout/linear.html#Weight)。另请注意,ListViews不应该放在ScrollViews中,如[documentation](http://developer.android.com/reference/android/widget/ScrollView.html)中所述。 – adrianp 2013-02-19 07:45:23

+0

是的,如果该应用应该支持多个类似的屏幕,分配权重将是个好主意 – 2013-02-19 07:47:23

0

有两个选项进来的画面。

  1. 相反的相对布局使用垂直线性布局与适当wieght到ListView和内线性布局(例如,0.7和0.3)
  2. 使用相同的相对布局如上内的LinearLayout到alignparentbottom =真 和ListView以上=“@ innerLinearLayout”linearlayout。

这可能会解决您的问题。 对于不同大小的屏幕,对于列表视图使用特定高度可能会导致用户界面的外观不同。

相关问题