2012-05-24 205 views
0

我是新來的Android,所以這個問題可能是愚蠢的,但是,有可能在視圖選擇器上更改layout_height?我試圖做一個自定義的TabHost/TabWidget,我必須根據他們的選擇狀態來改變一些視圖。這就是我想要實現:更改視圖高度選擇狀態

<selector xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item android:state_selected="true" android:height="10dp" /> 
    <item android:height="5dp" /> 
</selector> 

然後我想這個選擇追加查看這樣的:

<View android:layout_height="@drawable/tab_lineheight_selector" ... /> 

我明明做錯事的Cuz我的應用程序保持崩潰。它甚至有可能嗎?

+0

如果它崩潰,找出原因。 – keyser

+0

嗯,我知道它崩潰,但我不知道爲什麼系統不會從選擇器拉高度。以下是錯誤報告:「二進制XML文件行#18:您必須提供layout_height屬性。」 – paxx

回答

1

作爲每顯影劑文檔:

機器人:layout_height

指定視圖的基本高度。這是包含佈局管理器內部任何視圖的必需屬性 。其值可以是 尺寸(例如「12dip」),對於恆定的高度或者其中一個特殊常數。可能是一個維度值,這是一個浮點數 附加了一個單位如「14.5sp」。可用的單位是:px (像素),dp(密度獨立像素),sp(基於 首選字體大小的縮放像素),單位爲英寸,毫米(毫米)。這也可能是 對資源的引用(形式爲「@ [package:] type:name」)或 主題屬性(形式爲「?[package:] [type:] name」),其中包含 值這種類型。

所以,在技術上它的不可能你正在做什麼。

+0

所以我必須實現一個監聽器,然後點擊獲取tabWidget並更改視圖的高度。或者是否有任何其他更優雅的方式更改視圖高度選擇更改? – paxx

+0

以編程方式執行它是你最好的選擇 – waqaslam