Android ListView可视错误:按钮重叠TextView

时间:2016-06-15 20:01:26

标签: android listview

我有一个带有TextView和Button的ListView,每一行都是我的布局内容

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

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="Medium Text"
            android:id="@+id/desc"
            android:layout_marginTop="10dp"
            android:layout_marginLeft="15dp" />
    </LinearLayout>

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="right">

        <Button
            android:id="@+id/button"
            android:layout_width="70dp"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:layout_marginRight="15dp" />
    </LinearLayout>

</FrameLayout>

这是一个描述错误的大纲 http://it.tinypic.com/r/a47ho9/9

2 个答案:

答案 0 :(得分:1)

我不会在"http://codepen.io/LightYagami116/pen/ezzYGW"行使用FrameLayout,因为很难将项目放在ListView中。只需将FrameLayoutLinearLayout一起使用,然后将android:orientation="horizontal"TextView放入其中。

答案 1 :(得分:1)

使用RelativeLayout更容易正确放置小部件我会说。我还建议尝试展平你的布局。这意味着您不应该嵌套这么多布局。在这种情况下,这是一件非常简单的事情。在构建ui以优化性能时,您希望尽可能少地嵌套布局。

尝试这样的事情,可能不是你想要的但也许可以帮助你。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background=""
                android:padding="8dp">

    <TextView
        android:id="@+id/desc"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:text="Medium text"
        android:layout_centerVertical="true"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:layout_toLeftOf="@+id/button"/>

    <Button
        android:id="@+id/button"
        android:layout_width="70dp"
        android:text="button"
        android:layout_centerVertical="true"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"/>

</RelativeLayout>

您可以在此处了解有关优化布局的更多信息https://developer.android.com/training/improving-layouts/optimizing-layout.html