2015-11-03 72 views
2

我想设计布局,但它没有正确渲染。背景标志根本不可见。当手机转到横向模式时,那么在listview下面的textview是不可见的。ListView重叠android中的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> 
+0

将您的RelativeLayout更改为线性布局。并将其方向设置为垂直,使用布局权重来调整您的视图大小 –

回答

2

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

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

0

可能是您需要的?

UPDATE:

<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> 
+0

它仍然与TextView重叠并且背景图像不可见.... –

+0

我更新了自己的答案,请再试一次。我不明白整个问题,你想要像这样的图像吗? http://i.stack.imgur.com/nKr2T.png – walkmn

+0

我正在做标题将在标题部分的布局,水印标志将在后台和列表视图和textview垂直对齐。 –

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

+0

谢谢,但没有解决问题.......... –

+1

你可以分享你水印标志..所以我可以张贴完整的XML与输出 – Mohit

+0

我不能给徽标,但它的http://相同www.mantisbt.org/docs/tmp/en-US/xml/Common_Content/images/watermark-draft.png尺寸为200x200。另请参见下面的列表视图Textview不应该相互重叠。 –