【问题标题】:Listview is not visible with other elements on top of itListview 不可见,上面有其他元素
【发布时间】:2015-06-14 00:20:32
【问题描述】:

我正在尝试创建类似于附加图像的 UI。我的 xmal 代码如下。我遇到了一个主要问题。我知道我不能在scrollview 中嵌入listview。问题是,由于列表视图顶部的所有内容,只有一小部分无论我给父线性布局设置什么样的高度,都会显示列表视图。

如何布局我的 UI,以便列表视图可见并且可以滚动到它上面的其他 UI 元素?任何建议都是可以接受的。 提前致谢

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bkicon"
android:id="@+id/linearLayout1">
<LinearLayout
    android:orientation="horizontal"
    android:minWidth="25dp"
    android:minHeight="25dp"
    android:layout_width="match_parent"
    android:layout_height="100dp"
    android:background="@drawable/bkicon"
    android:weightSum="4"
    android:id="@+id/linearLayoutButtons">
    <Button
        android:text="Posts"
        android:layout_width="50dp"
        android:layout_height="100dp"
        android:background="@drawable/mybuttonSelected"
        android:layout_weight="1"
        android:id="@+id/btngohomemb" />
    <Button
        android:text="Chat"
        android:layout_width="50dp"
        android:layout_height="100dp"
        android:background="@drawable/mybutton"
        android:layout_weight="1"
        android:id="@+id/btngohomemb" />
    <Button
        android:text="Business"
        android:layout_width="50dp"
        android:layout_height="100dp"
        android:background="@drawable/mybutton"
        android:layout_weight="1"
        android:id="@+id/btnMBRefresh" />
    <Button
        android:text="Resources"
        android:layout_width="50dp"
        android:layout_height="100dp"
        android:background="@drawable/mybutton"
        android:layout_weight="1"
        android:id="@+id/btnMBNewMessage" />
</LinearLayout>

<Button
    android:text=""
    android:gravity="left|center_vertical"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:textColor="#000000"
    android:textStyle="bold"
    android:background="@drawable/mybutton"
    android:id="@+id/locHeader" />
<TextView
    android:text=""
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:gravity="left|center_vertical"
    android:textColor="#000000"
    android:id="@+id/locBody"
    android:background="#FFFFFF" />
<TextView
    android:text="\nWhat's on your mind?\n"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:gravity="left|center_vertical"
    android:textColor="#ffffff"
    android:id="@+id/lblWhatonyourmind"
    android:background="#000000" />
<ImageView
    android:src="@android:drawable/ic_menu_gallery"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/imageView1" />
<EditText
    android:inputType="textMultiLine"
    android:lines="8"
    android:minLines="6"
    android:gravity="top|left"
    android:maxLines="10"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:scrollbars="vertical"
    android:id="@+id/etNewPost" />
<LinearLayout
    android:orientation="horizontal"
    android:minWidth="25px"
    android:minHeight="25px"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:background="@drawable/bkicon"
    android:weightSum="3"
    android:id="@+id/linearLayoutButtons">
    <Button
        android:text="Add Pic"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/mybutton"
        android:layout_weight="1"
        android:id="@+id/btnPostPicture" />
    <CheckBox
        android:text=""
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:id="@+id/chbxRestrict" />
    <Button
        android:text="Post"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/mybutton"
        android:layout_weight="1"
        android:id="@+id/btnPost" />
</LinearLayout>

<ListView
    android:minWidth="25px"
    android:minHeight="25px"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:id="@+id/lvPostedMsges" />
</LinearLayout>

【问题讨论】:

  • 发生这种情况是因为 Listview 上方元素的高度占用了它们所需的最小空间,因此将一小部分空间留给列表视图,因为线性布局在另一个优先级之后堆叠元素到前面的元素。因此,请考虑以更好的方式重新设计您的页面。
  • 谢谢纳德。所以没有办法将静态元素与底部的列表视图混合在一起?
  • 您可以使用 LinearLayout 代替 ListView,如果需要,可以通过编程方式将视图放入其中
  • @Ryoghurt 谢谢。也会试试的。

标签: android user-interface android-layout


【解决方案1】:

发生这种情况是因为 Listview 上方元素的高度占用了它们所需的最小空间,因此为列表视图留下了一小部分空闲空间,因为线性布局将元素堆叠在另一个之后,优先考虑前面的元素。因此,请考虑以更好的方式重新设计您的页面。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-16
    • 1970-01-01
    相关资源
    最近更新 更多