2016-11-10 74 views
0

我有一个列表视图下面的LinearLayout的问题。我试图给上面的listview权重和布局,将layout_height设置为0dp,但没有任何变化。ListView下面的线性布局,有些部分不可见?

这里是我的XML代码:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <LinearLayout android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:weightSum="100" 
     android:background="#00c4ff"> 
     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Application № - " 
      android:layout_weight="50"/> 
     <TextView 
      android:id="@+id/number" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="__" 
      android:layout_weight="20" /> 
     <EditText 
      android:id="@+id/date" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:inputType="date" 
      android:hint="dd/mm/yyyy" 
      android:layout_weight="30" 
      /> 
     </LinearLayout> 

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


    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     android:gravity="bottom" 
     android:id="@+id/ll"> 
     <Button 
      android:id="@+id/plus" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Add"/> 
     <EditText 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:id="@+id/comment" 
      android:inputType="text" 
      android:hint="Comment" /> 
     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="horizontal" 
      android:gravity="bottom"> 
      <Button 
       android:id="@+id/send" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Send" /> 
      <Button 
       android:id="@+id/close" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Save and close"/> 
     </LinearLayout> 

    </LinearLayout> 


</LinearLayout> 

时的ListView填满整个屏幕,我看不到下面给它的按钮。

回答

0
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:weightSum="100"> 

    <LinearLayout android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:weightSum="100" 
     android:background="#00c4ff"> 
     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Application № - " 
      android:layout_weight="50"/> 
     <TextView 
      android:id="@+id/number" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="__" 
      android:layout_weight="20" /> 
     <EditText 
      android:id="@+id/date" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:inputType="date" 
      android:hint="dd/mm/yyyy" 
      android:layout_weight="30" /> 
    </LinearLayout> 

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


    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="10" 
     android:orientation="vertical" 
     android:gravity="bottom" 
     android:id="@+id/ll"> 
     <Button 
      android:id="@+id/plus" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:text="Add"/> 
     <EditText 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:id="@+id/comment" 
      android:inputType="text" 
      android:hint="Comment" /> 
     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="horizontal" 
      android:gravity="bottom"> 
      <Button 
       android:id="@+id/send" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Send" /> 
      <Button 
       android:id="@+id/close" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Save and close"/> 
     </LinearLayout> 

    </LinearLayout> 


</LinearLayout> 
+0

还请解释你是如何解决这个问题的。只有代码答案没有帮助。 – Doomsknight

+0

方法布局 - 权重和权重总和是解决这个问题的方法。但在提出这样的问题之前请尝试,并且不要问这样的直接问题 –

+0

哦,你是个天才,非常感谢你 – Sanzhar

0

如下

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <LinearLayout android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="#00c4ff"> 
     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Application № - " 
      android:layout_weight="50"/> 
     <TextView 
      android:id="@+id/number" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="__" 
      android:layout_weight="20" /> 
     <EditText 
      android:id="@+id/date" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:inputType="date" 
      android:hint="dd/mm/yyyy" 
      android:layout_weight="30" 
      /> 
    </LinearLayout> 

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


    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     android:gravity="bottom" 
     android:id="@+id/ll"> 
     <Button 
      android:id="@+id/plus" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Add"/> 
     <EditText 
      android:layout_width="match_parent" 
      android:layout_height="50dp" 
      android:id="@+id/comment" 
      android:inputType="text" 
      android:hint="Comment" /> 
     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" 
      android:gravity="bottom"> 
      <Button 
       android:id="@+id/send" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Send" /> 
      <Button 
       android:id="@+id/close" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Save and close"/> 
     </LinearLayout> 

    </LinearLayout> 


</LinearLayout> 
+0

另请说明您是如何解决问题的。只有代码答案没有帮助。 – Doomsknight

1
<?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"> 

    <LinearLayout 
android:id="@+id/topLayout" 
android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
android:alignParentTop="true" 
     android:weightSum="100" 
     android:background="#00c4ff"> 
     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Application № - " 
      android:layout_weight="50"/> 
     <TextView 
      android:id="@+id/number" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="__" 
      android:layout_weight="20" /> 
     <EditText 
      android:id="@+id/date" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:inputType="date" 
      android:hint="dd/mm/yyyy" 
      android:layout_weight="30" 
      /> 
     </LinearLayout> 

    <LinearLayout 
android:id="@+id/bottomLayout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     android:gravity="bottom" 
android:alignParentBottom="true" 
     android:id="@+id/ll"> 
     <Button 
      android:id="@+id/plus" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Add"/> 
     <EditText 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:id="@+id/comment" 
      android:inputType="text" 
      android:hint="Comment" /> 
     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="horizontal" 
      android:gravity="bottom"> 
      <Button 
       android:id="@+id/send" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Send" /> 
      <Button 
       android:id="@+id/close" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Save and close"/> 
     </LinearLayout> 

    </LinearLayout> 

      <ListView 
       android:id="@+id/lvMain" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
android:layout_below="@+id/topLayout" 
android:layout_above="@+id/bottomLayout"> 
      </ListView> 

</RelativeLayout> 

编辑了自己的代码更改。尝试这个。

在这里我使用了RelativeLayout,所以我们使用android:alignParentBottom="true"作为底部布局,使得布局固定在底部。 Simillarly我们可以使用android:alignParentBottom="true"进行顶层布局。现在来ListView,这是我们需要的顶部和底部之间布局的地方我用下面的代码来实现它

android:layout_below="@+id/topLayout" 
    android:layout_above="@+id/bottomLayout" 

这使得ListView顶部和底部之间的布局坚持英寸

希望这是有益:)

+0

也请解释您是如何解决问题的。只有代码答案没有帮助。 – Doomsknight

+1

@Doomsknight:看我给出了代码:) – Jeevanandhan

1

您的布局,加入布局权重编辑。请检查。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:orientation="vertical" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
    android:weightSum="1"> 

    <LinearLayout android:orientation="horizontal" 
        android:layout_width="match_parent" 
        android:layout_height="0dp" 
        android:layout_weight="0.1" 
        android:weightSum="100" 
        android:background="#00c4ff"> 
     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Application № - " 
      android:layout_weight="50"/> 
     <TextView 
      android:id="@+id/number" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="__" 
      android:layout_weight="20" /> 
     <EditText 
      android:id="@+id/date" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:inputType="date" 
      android:hint="dd/mm/yyyy" 
      android:layout_weight="30" 
      /> 
    </LinearLayout> 

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


    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:orientation="vertical" 
     android:layout_weight="0.3" 
     android:gravity="bottom" 
     android:id="@+id/ll"> 
     <Button 
      android:id="@+id/plus" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Add"/> 
     <EditText 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:id="@+id/comment" 
      android:inputType="text" 
      android:hint="Comment" /> 
     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="horizontal" 
      android:gravity="bottom"> 
      <Button 
       android:id="@+id/send" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Send" /> 
      <Button 
       android:id="@+id/close" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Save and close"/> 
     </LinearLayout> 

    </LinearLayout> 


</LinearLayout> 
+0

谢谢你我试过你的代码,它没有工作,我不能看到listview在所有 – Sanzhar

1

你应该尝试列表视图与布局有重量。

示例代码:

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

<LinearLayout android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="0.3" 
     /> 

<LinearLayout android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="0.4" 
     > 
<ListView 
       android:id="@+id/lvMain" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content"> 
      </ListView> 
</LinearLayout> 

<LinearLayout android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="0.3" 
     /> 

</LinearLayout> 

在此您的高度是固定的列表视图。假设你可以使用列表视图作为可滚动的特定高度。

+0

谢谢,但它没有工作,现在我不能看到在所有的列表视图 – Sanzhar