0

問題:保證金問題瓦特/ Android的佈局(滾動型和線性)

我試圖使它看起來好像背景實際上是一個圖像刪除圖像/視圖之間的空間。不同的方法或解決這個問題的方法將不勝感激。

示例圖像: enter image description here

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="vertical" 
android:background="#edeab5"> 

    <ImageView 
     android:id="@+id/bgnewsfeedtop" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal" 
     android:layout_marginLeft="5dp" 
     android:layout_marginRight="5dp" 
     android:layout_marginTop="5dp" 
     android:layout_marginBottom="0dp" 
     android:src="@drawable/newsfeedtop" /> 

<LinearLayout 
    android:id="@+id/linearLayout2" 
    android:layout_width="fill_parent" 
    android:layout_height="0dip" 
    android:layout_margin="0dp" 
    android:layout_weight="1" 
    android:orientation="horizontal" > 

<ImageView 
    android:id="@+id/bgnewsfeedleft" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginLeft="5dp" 
    android:layout_marginRight="0dp" 
    android:layout_marginTop="0dp" 
    android:layout_marginBottom="0dp" 
    android:src="@drawable/newsfeedleft" /> 

    <ScrollView 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/scroller" 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:fillViewport="true" 
     android:src="@drawable/newsfeedbg" > 

     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:cacheColorHint="@android:color/transparent" 
      android:orientation="vertical" > 

      <ImageView 
       android:id="@+id/btn1_news_feed" 
       android:layout_width="280dp" 
       android:layout_height="50dp" 
       android:layout_gravity="center_horizontal" 
       android:layout_margin="2dp" 
       android:src="@drawable/filler" /> 

      <ImageView 
       android:id="@+id/btn2_news_feed" 
       android:layout_width="280dp" 
       android:layout_height="50dp" 
       android:layout_gravity="center_horizontal" 
       android:layout_margin="2dp" 
       android:src="@drawable/filler" /> 

      <ImageView 
       android:id="@+id/btn3_news_feed" 
       android:layout_width="280dp" 
       android:layout_height="50dp" 
       android:layout_gravity="center_horizontal" 
       android:layout_margin="2dp" 
       android:src="@drawable/filler" /> 

      <ImageView 
       android:id="@+id/btn4_news_feed" 
       android:layout_width="280dp" 
       android:layout_height="50dp" 
       android:layout_gravity="center_horizontal" 
       android:layout_margin="2dp" 
       android:src="@drawable/filler" /> 

      <ImageView 
       android:id="@+id/btn5_news_feed" 
       android:layout_width="280dp" 
       android:layout_height="50dp" 
       android:layout_gravity="center_horizontal" 
       android:layout_margin="2dp" 
       android:src="@drawable/filler" /> 

      <ImageView 
       android:id="@+id/btn6_news_feed" 
       android:layout_width="280dp" 
       android:layout_height="50dp" 
       android:layout_gravity="center_horizontal" 
       android:layout_margin="2dp" 
       android:src="@drawable/filler" /> 

      <ImageView 
       android:id="@+id/btn7_news_feed" 
       android:layout_width="280dp" 
       android:layout_height="50dp" 
       android:layout_gravity="center_horizontal" 
       android:layout_margin="2dp" 
       android:src="@drawable/filler" /> 
     </LinearLayout> 
    </ScrollView> 

    <ImageView 
    android:id="@+id/bgnewsfeedright" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginLeft="0dp" 
    android:layout_marginRight="5dp" 
    android:layout_marginTop="0dp" 
    android:layout_marginBottom="0dp" 
    android:src="@drawable/newsfeedright" /> 
</LinearLayout> 

<ImageView 
    android:id="@+id/bgnewsfeedbot" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:layout_marginLeft="5dp" 
    android:layout_marginRight="5dp" 
    android:layout_marginTop="0dp" 
    android:src="@drawable/newsfeedbot" /> 

<LinearLayout 
    android:id="@+id/linearLayout1" 
    android:layout_width="fill_parent" 
    android:layout_height="75dp" 
    android:orientation="horizontal" > 

    <ImageView 
     android:id="@+id/menu_house_manager" 
     android:layout_width="55dp" 
     android:layout_height="55dp" 
     android:layout_margin="12dp" 
     android:src="@drawable/btnhousemanager" /> 

    <ImageView 
     android:id="@+id/menu_house_manager2" 
     android:layout_width="55dp" 
     android:layout_height="55dp" 
     android:layout_margin="12dp" 
     android:src="@drawable/btnhousemanager" /> 

    <ImageView 
     android:id="@+id/menu_house_manager3" 
     android:layout_width="55dp" 
     android:layout_height="55dp" 
     android:layout_margin="12dp" 
     android:src="@drawable/btnhousemanager" /> 

    <ImageView 
     android:id="@+id/menu_house_manager4" 
     android:layout_width="55dp" 
     android:layout_height="55dp" 
     android:layout_margin="12dp" 
     android:src="@drawable/btnhousemanager" /> 

</LinearLayout> 

<LinearLayout 
    android:id="@+id/linearLayout2" 
    android:layout_width="fill_parent" 
    android:layout_height="100dp" 
    android:layout_alignParentLeft="true" 
    android:orientation="horizontal" > 

    <ImageView 
     android:id="@+id/menu_house_manager" 
     android:layout_width="55dp" 
     android:layout_height="55dp" 
     android:layout_margin="12dp" 
     android:src="@drawable/btnhousemanager" /> 

    <ImageView 
     android:id="@+id/menu_house_manager2" 
     android:layout_width="55dp" 
     android:layout_height="55dp" 
     android:layout_margin="12dp" 
     android:src="@drawable/btnhousemanager" /> 

    <ImageView 
     android:id="@+id/menu_house_manager3" 
     android:layout_width="55dp" 
     android:layout_height="55dp" 
     android:layout_margin="12dp" 
     android:src="@drawable/btnhousemanager" /> 

    <ImageView 
     android:id="@+id/menu_house_manager4" 
     android:layout_width="55dp" 
     android:layout_height="55dp" 
     android:layout_margin="12dp" 
     android:src="@drawable/btnhousemanager" /> 

</LinearLayout> 
</LinearLayout> 

編輯****

幫助後提供的,修改後的代碼和圖片:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#edeab5" > 


    <View 
     android:id="@+id/newstop" 
     android:layout_width="fill_parent" 
     android:layout_alignParentTop="true" 
     android:layout_height="15dp" 
     android:layout_marginTop="10dp" 
     android:layout_marginLeft="10dp" 
     android:layout_marginRight="10dp" 
     android:background="@drawable/newsfeedtop" 
     /> 

    <View 
     android:id="@+id/newsleft" 
     android:layout_height="fill_parent" 
     android:layout_width="fill_parent" 
     android:layout_marginLeft="10dp" 
     android:background="@drawable/newsfeedleft" 

     android:layout_toLeftOf="@+id/scroller" 
     android:layout_below="@+id/newstop" 
     android:layout_above="@+id/newsbottom" 
     /> 

    <View 
     android:id="@+id/newsleft" 
     android:layout_height="fill_parent" 
     android:layout_width="fill_parent" 
     android:layout_marginRight="10dp" 
     android:background="@drawable/newsfeedright" 

     android:layout_toRightOf="@+id/scroller" 
     android:layout_below="@+id/newstop" 
     android:layout_above="@+id/newsbottom" 
     /> 


    <ScrollView 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/scroller" 
     android:layout_width="wrap_content" 
     android:layout_height="150dp" 
     android:layout_centerInParent="true" 
     android:fillViewport="true" 
     android:background="#000000" 
     android:layout_below="@+id/newstop"> 

     <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:tools="http://schemas.android.com/tools" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="#cc0000" > 



      <ImageView 
       android:id="@+id/btn1_news_feed" 
       android:layout_width="280dp" 
       android:layout_height="50dp" 
       android:layout_gravity="center_horizontal" 
       android:layout_margin="2dp" 
       android:background="#000000" 
       android:contentDescription="@string/app_name" /> 

      <ImageView 
       android:id="@+id/btn2_news_feed" 
       android:layout_width="280dp" 
       android:layout_height="50dp" 
       android:layout_gravity="center_horizontal" 
       android:layout_margin="2dp" 
       android:layout_below="@id/btn1_news_feed" 
       android:background="#000000" 
       android:contentDescription="@string/app_name"/> 

      <ImageView 
       android:id="@+id/btn3_news_feed" 
       android:layout_width="280dp" 
       android:layout_height="50dp" 
       android:layout_gravity="center_horizontal" 
       android:layout_margin="2dp" 
       android:layout_below="@id/btn2_news_feed" 
       android:background="#000000" 
       android:contentDescription="@string/app_name" /> 

      <ImageView 
       android:id="@+id/btn4_news_feed" 
       android:layout_width="280dp" 
       android:layout_height="50dp" 
       android:layout_gravity="center_horizontal" 
       android:layout_margin="2dp" 
       android:layout_below="@id/btn3_news_feed" 
       android:background="#000000" 
       android:contentDescription="@string/app_name" /> 

      <ImageView 
       android:id="@+id/btn5_news_feed" 
       android:layout_width="280dp" 
       android:layout_height="50dp" 
       android:layout_gravity="center_horizontal" 
       android:layout_margin="2dp" 
       android:layout_below="@id/btn4_news_feed" 
       android:background="#000000" 
       android:contentDescription="@string/app_name" /> 


      </RelativeLayout> 
      </ScrollView> 

    <View 
     android:id="@+id/newsbottom" 
     android:layout_width="fill_parent" 
     android:layout_height="15dp" 
     android:layout_marginLeft="10dp" 
     android:layout_marginRight="10dp" 
     android:background="@drawable/newsfeedbot" 
     android:layout_below="@+id/scroller" 
     /> 

    <LinearLayout 
    android:id="@+id/buttonsrow1" 
    android:layout_width="fill_parent" 
    android:layout_height="75dp" 
    android:orientation="horizontal" 
    android:layout_marginTop="12dp" 
    android:layout_below="@+id/newsbottom"> 

    <ImageView 
     android:id="@+id/menu_house_manager" 
     android:layout_width="55dp" 
     android:layout_height="55dp" 
     android:layout_margin="12dp" 
     android:src="@drawable/btnhousemanager" /> 

    <ImageView 
     android:id="@+id/menu_house_manager2" 
     android:layout_width="55dp" 
     android:layout_height="55dp" 
     android:layout_margin="12dp" 
     android:src="@drawable/btnhousemanager" /> 

    <ImageView 
     android:id="@+id/menu_house_manager3" 
     android:layout_width="55dp" 
     android:layout_height="55dp" 
     android:layout_margin="12dp" 
     android:src="@drawable/btnhousemanager" /> 

    <ImageView 
     android:id="@+id/menu_house_manager4" 
     android:layout_width="55dp" 
     android:layout_height="55dp" 
     android:layout_margin="12dp" 
     android:src="@drawable/btnhousemanager" /> 

</LinearLayout> 

    <LinearLayout 
     android:id="@+id/buttonsrow2" 
     android:layout_width="fill_parent" 
     android:layout_height="75dp" 
     android:layout_below="@+id/buttonsrow1" 
     android:orientation="horizontal" > 

    <ImageView 
     android:id="@+id/menu_house_manager" 
     android:layout_width="55dp" 
     android:layout_height="55dp" 
     android:layout_margin="12dp" 
     android:src="@drawable/btnhousemanager" /> 

    <ImageView 
     android:id="@+id/menu_house_manager2" 
     android:layout_width="55dp" 
     android:layout_height="55dp" 
     android:layout_margin="12dp" 
     android:src="@drawable/btnhousemanager" /> 

    <ImageView 
     android:id="@+id/menu_house_manager3" 
     android:layout_width="55dp" 
     android:layout_height="55dp" 
     android:layout_margin="12dp" 
     android:src="@drawable/btnhousemanager" /> 

    <ImageView 
     android:id="@+id/menu_house_manager4" 
     android:layout_width="55dp" 
     android:layout_height="55dp" 
     android:layout_margin="12dp" 
     android:src="@drawable/btnhousemanager" /> 

</LinearLayout> 

    </RelativeLayout> 

enter image description here

回答

0

您是否已用relati做了一些事情ve佈局?

這就是我將如何解決這個問題。 你給每一個由

android:id = "@+id/whateveryouwanttonameit" 

查看ID,然後你可以通過reffering這個IDS對齊其他視圖。

例如:

<ImageButton 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:id="@+id/newGameButton" 
    android:text="@string/newGameButton" 
    android:background="@drawable/newgame" 
    android:contentDescription="@string/feld"/> 

<ImageView 
    android:layout_alignLeft="@id/newGameButton" 
    android:layout_width="50dp" 
    android:layout_height="50dp" 
    android:layout_above="@id/newGameButton" 
    android:src="@drawable/x" 
    android:id="@+id/sp2" 
    android:contentDescription="@string/feld"/> 
在這個例子中

左邊緣的ImageViews得到通過使用與的ImageButton的左邊緣對齊:

android:layout_alignLeft="@id/newGameButton" 

它也是完全newGameButton以上沒有任何空間之間加入

android:align_above="@id/newGameButton" 

這樣你就可以建立你的整個活動layou噸。

因此,這裏的例子:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#FFFFFF" > 


    <View 
     android:layout_width="fill_parent" 
     android:layout_height="15dp" 
     android:background="#FF0000" 
     android:layout_above="@id/scroller" 
     /> 


    <ScrollView 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/scroller" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" 
     android:fillViewport="true" 
     android:background="#000000"> 

     <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:tools="http://schemas.android.com/tools" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="#00FF00" > 



      <ImageView 
       android:id="@+id/btn1_news_feed" 
       android:layout_width="280dp" 
       android:layout_height="50dp" 
       android:layout_gravity="center_horizontal" 
       android:layout_margin="2dp" 
       android:background="#000000" 
       android:contentDescription="@string/app_name" /> 

      <ImageView 
       android:id="@+id/btn2_news_feed" 
       android:layout_width="280dp" 
       android:layout_height="50dp" 
       android:layout_gravity="center_horizontal" 
       android:layout_margin="2dp" 
       android:layout_below="@id/btn1_news_feed" 
       android:background="#000000" 
       android:contentDescription="@string/app_name"/> 

      <ImageView 
       android:id="@+id/btn3_news_feed" 
       android:layout_width="280dp" 
       android:layout_height="50dp" 
       android:layout_gravity="center_horizontal" 
       android:layout_margin="2dp" 
       android:layout_below="@id/btn2_news_feed" 
       android:background="#000000" 
       android:contentDescription="@string/app_name" /> 

      <ImageView 
       android:id="@+id/btn4_news_feed" 
       android:layout_width="280dp" 
       android:layout_height="50dp" 
       android:layout_gravity="center_horizontal" 
       android:layout_margin="2dp" 
       android:layout_below="@id/btn3_news_feed" 
       android:background="#000000" 
       android:contentDescription="@string/app_name" /> 

      <ImageView 
       android:id="@+id/btn5_news_feed" 
       android:layout_width="280dp" 
       android:layout_height="50dp" 
       android:layout_gravity="center_horizontal" 
       android:layout_margin="2dp" 
       android:layout_below="@id/btn4_news_feed" 
       android:background="#000000" 
       android:contentDescription="@string/app_name" /> 


      </RelativeLayout> 
      </ScrollView> 


    </RelativeLayout> 

給了我這樣的佈局:

layout

我不停的容限屬性並提出綠色滾動視圖的背景。

用下面的屬性我做了佈局。

只是爲了向你展示如果你沒有定義它,元素和元素之間沒有空間,我添加了一個沒有邊距屬性的紅色視圖元素。

我沒有爲你做過整個佈局,只是複製了它的一部分,以顯示如何使用RelativeLayout來完成。我希望這能爲你解決;)

+0

嗯..這似乎是一個很好的方式來組裝包含ScrollView,但定位ScrollView內RelativeLayout將成爲一個問題?我會解決這個問題,如果我能解決它,我會「接受」你的答案。謝謝您的幫助! –

+0

不,它應該工作。我在我的答案中添加了一個例子。 –

+0

我重讀了你的問題,我只是想複雜化。只需刪除紅色框架視圖中的邊距。 –

1

你說的是黑線嗎?我不認爲我很好地理解你的問題......

你在你的「手動列表視圖」正在做的(我的意思是:而不是使用滾動型和LinearLayout中,你應該使用一個列表視圖和自定義適配器加正的新聞推送):

android:layout_margin="2dp" 

這種權利設置,左邊,上邊,下邊距。做這個,而不是:

​​
+0

黑色線條是ScrollView的一部分。我正在談論包含黑色線條的紅色邊框之間的邊距。頂欄和側欄之間有間距,我想去,側欄和底欄之間也有間距。 –