2015-11-03 69 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不應該相互重疊。 –