2013-09-29 146 views
0

在我的應用程序,肖像將有Button這裏的風景會Button,所以我用<include>和這樣做:Android的佈局包括沒有佈局

佈局/ activity_main.xml中

... 
<include layout="@layout/my_button" /> 
... 

值/ layout.xml

... 
<item name="my_button" type="layout">@layout/my_button_layout</item> 
... 

值-脊/ layout.xml

.... 
<item name="my_button" type="layout">@layout/empty_layout</item> 

佈局/ my_button_layout.xml

... 
<Button...... <!-- my button XML --> 
... 

佈局/ empty_layout.xml

<View xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:visibility="gone" /> 

現在,這個工作,但我不太喜歡有一個無用的觀點時的想法該應用程序的景觀。

我試圖做的:

<item name="my_button" type="layout">@null</item> 

但這會拋出一個異常ResourceNotFound

有沒有辦法解決?

(是的,我知道我可以以編程方式做到這一點,但隨後擊敗Android的佈局系統的目的)

+0

將兩個不同的佈局放在res文件夾中的layout-port和layout-land文件夾中。 –

+0

I.之前,基本上我將不得不將整個佈局複製到佈局端口目錄並刪除我的Button的小XML部分。這不是很有前途...... – tom91136

+0

然後在你的values-port和values-land文件夾中添加一個布爾值。 –

回答

1

你可以使用兩種風格。一個在縱向文件夾中的xml文件中,另一個在橫向文件夾中的另一個xml文件中。然後,這些樣式可以設置爲android:visibility="gone"android:visibility="visible",然後只需使用設置樣式到按鈕上使用style="@style/MyButtonStyle"

+0

這仍然會讓我留下一個空洞的視野...... – tom91136

+0

對不起。我沒有完全解釋自己。將包含替換爲原始按鈕對象。然後做我上面解釋的樣式:)作爲樣式將做所有隱藏你不會需要包括了。只是一個普通的按鈕,當風景畫面風格設置時會消失 –

+0

儘管它沒有完全回答我的問題,但我喜歡使用風格 – tom91136