2015-01-14 36 views
-1

你好社區,
我想iclude繪製不同XML的文件到我的activity_main.xml中
然而,當我想includ下面的代碼:錯誤的,包括繪製的XML文件

<?xml version="1.0" encoding="utf-8" ?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
    <shape> 
     <size 
     android:layout_height="110dp" /> 
    </shape> 
    </item> 
</selector> 

名稱被button_height.xml到我的主要文件:

<Button 
       android:id="@+id/cmda1" 
       android:layout_width="110dp" 
       android:layout_height="@drawable/button_height" /> 

它不工作和Eclipse只是說:

您必須提供一個layout_height屬性。 和
XML文件中的錯誤:正在中止構建。

我在網上搜索了一個答案,但沒有找到答案。 但我認爲很多人都在犯這個錯誤。

所以,我希望有用的答案 和抱歉我的糟糕的英語。

+1

@ drawable/button_height將是一個可繪製類型,您必須傳遞類似於「110dp」的字符串,正如您在layout_width – aProperFox

回答

2

您對繪圖,選擇器和尺寸的整個想法都搞亂了。無法在選擇器中放置高度,也無法將選擇器(可繪製)放置爲高度。

這樣做。

如果你想使用XML來獲得高度

在res文件夾中添加一個文件名RES /價值/ dimens.xml並在

<resources> 
    <integer name="btn_cmda_height" >110dp</integer> 
</resources> 

添加此行,更改按鈕cmda1高度屬性爲

android:layout_height="@dimen/btn_cmda_height" 

使它變成動態c通過創建這些將保存不同值的文件來獲得各種屏幕尺寸。雖然這是古老的方式。

瞭解更多關於新的方式來做到這一點here

res/values/dimens.xml  
res/values-small/dimens.xml  
res/values-normal/dimens.xml  
res/values-xlarge/dimens.xml 

如果你不想使用XML來獲得高度

只是這樣做android:layout_height="110dp"在按鈕cmda1 height屬性

注意: 您的選擇器代碼是錯誤的,不需要所有。選擇器用於定義視圖的背景狀態

+0

中所做的那樣感謝您的快速回答,但我知道如何將它寫入我的XML文件。但您的解決方案是否適合不同的顯示器尺寸? –

+0

是的我的解決方案是動態的,如果你使用'dimnes.xml' – Rohit5k2

+0

請看我的編輯。 – Rohit5k2