ListView重叠了android中的textview和背景图像

时间:2015-11-03 07:14:37

标签: android listview

我正在尝试设计布局但不能正确渲染。背景徽标根本不可见。当手机进入横向模式时,列表视图下方的textview不可见。

enter image description here

下面是我的xml。

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#E0ECF8"
    android:fillViewport="true"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.view.MainMenuActivity" >

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#E0ECF8" >

        <LinearLayout
            android:id="@+id/note1Wrapper_note1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_gravity="start"
            android:layout_marginBottom="10dp"
            android:layout_marginTop="10dp"
            android:gravity="start"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/textView2_note1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="2dp"
                android:paddingLeft="15dp"
                android:paddingRight="15dp"
                android:text="@string/note1"
                android:textColor="#000"
                android:textSize="13sp" />
        </LinearLayout>

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:background="#0c2d4e"
            android:src="@drawable/banner640" />

        <TextView
            android:id="@+id/textView1_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/imageView1"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="15dp"
            android:paddingLeft="15dp"
            android:paddingRight="15dp"
            android:text="@string/menu_title"
            android:textColor="#000"
            android:textSize="18sp"
            android:textStyle="bold" />

        <View
            android:id="@+id/View1_hr"
            android:layout_width="fill_parent"
            android:layout_height="2dp"
            android:layout_below="@+id/textView1_title"
            android:layout_marginTop="15dp"
            android:background="#80000000" />

        <ListView
            android:id="@android:id/list"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/View1_hr"
            android:layout_marginTop="0dp"
            android:background="#E0ECF8" >
        </ListView>

        <View
            android:id="@+id/View2_hr"
            android:layout_width="fill_parent"
            android:layout_height="2dp"
            android:layout_below="@android:id/list"
            android:layout_marginTop="5dp"
            android:background="#80000000" />
    </RelativeLayout>

</ScrollView>

3 个答案:

答案 0 :(得分:2)

您可能会在ListView内使用ScrollView来解决问题。你应该避免它。为了解决您的问题,我认为您可以为ListView设置特定高度,或使用垂直LinearLayout以编程方式添加行视图。

  

使用ListView使其不滚动是非常昂贵的,并违背ListView的整个目的。你不应该这样做。只需使用LinearLayout即可。 - 来自Romain Guy--在GG中撰写ListView的开发人员。

答案 1 :(得分:1)

确定您的定义存在问题,只需在LinearLayout下方定义View(低于ListView)。检查一下

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:background="#E0ECF8"
 android:fillViewport="true"
 android:orientation="vertical"
 android:paddingBottom="@dimen/activity_vertical_margin"
 android:paddingLeft="@dimen/activity_horizontal_margin"
 android:paddingRight="@dimen/activity_horizontal_margin"
 android:paddingTop="@dimen/activity_vertical_margin"
 tools:context="com.example.view.MainMenuActivity" >


    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:background="#0c2d4e"
        android:src="@drawable/ic_launcher" />

    <TextView
        android:id="@+id/textView1_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/imageView1"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="15dp"
        android:paddingLeft="15dp"
        android:paddingRight="15dp"
        android:text="MEnu"
        android:textColor="#000"
        android:textSize="18sp"
        android:textStyle="bold" />

    <View
        android:id="@+id/View1_hr"
        android:layout_width="fill_parent"
        android:layout_height="2dp"
        android:layout_below="@+id/textView1_title"
        android:layout_marginTop="15dp"
        android:background="#80000000" />

    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/View1_hr"
        android:layout_marginTop="0dp"
        android:background="#E0ECF8" >
    </ListView>

     <LinearLayout
         android:id="@+id/note1Wrapper_note1"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:layout_alignParentBottom="true"
         android:layout_gravity="start"
         android:layout_marginTop="10dp"
         android:background="#E0ECF8"
         android:gravity="start"
         android:orientation="vertical" >

        <TextView
            android:id="@+id/textView2_note1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="2dp"
            android:paddingLeft="15dp"
            android:paddingRight="15dp"
            android:text="Nofghnjfgjtyjjyjdtyjte"
            android:textColor="#000"
            android:textSize="25sp" />
    </LinearLayout>



</RelativeLayout>

输出:

out

答案 2 :(得分:0)

可能这就是你需要的吗?

<强>更新

    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#E0ECF8"
    android:fillViewport="true"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.view.MainMenuActivity" >

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#E0ECF8" >

        <ListView
            android:id="@android:id/list"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/View1_hr"
            android:layout_marginTop="0dp"
            android:background="#E0ECF8"
            android:layout_above="@+id/note1Wrapper_note1">
        </ListView>

        <LinearLayout
            android:id="@+id/note1Wrapper_note1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_gravity="start"
            android:layout_marginBottom="10dp"
            android:layout_marginTop="10dp"
            android:gravity="start"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/textView2_note1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="2dp"
                android:paddingLeft="15dp"
                android:paddingRight="15dp"
                android:text="@string/note1"
                android:textColor="#000"
                android:textSize="13sp" />
        </LinearLayout>

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:background="#0c2d4e"
            android:src="@drawable/banner640" />

        <TextView
            android:id="@+id/textView1_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/imageView1"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="15dp"
            android:paddingLeft="15dp"
            android:paddingRight="15dp"
            android:text="@string/menu_title"
            android:textColor="#000"
            android:textSize="18sp"
            android:textStyle="bold" />

        <View
            android:id="@+id/View1_hr"
            android:layout_width="fill_parent"
            android:layout_height="2dp"
            android:layout_below="@+id/textView1_title"
            android:layout_marginTop="15dp"
            android:background="#80000000" />

        <View
            android:id="@+id/View2_hr"
            android:layout_width="fill_parent"
            android:layout_height="2dp"
            android:layout_below="@android:id/list"
            android:layout_marginTop="5dp"
            android:background="#80000000" />

    </RelativeLayout>
</ScrollView>