Android 更改选定状态下的视图高度
我是Android新手,所以这个问题可能很愚蠢,但是,是否可以通过选择器更改视图上的布局高度?我正在尝试制作一个定制的TabHost/TabWidget,在这里我必须根据它们的选择状态更改一些视图。这就是我想要实现的目标:Android 更改选定状态下的视图高度,android,android-layout,Android,Android Layout,我是Android新手,所以这个问题可能很愚蠢,但是,是否可以通过选择器更改视图上的布局高度?我正在尝试制作一个定制的TabHost/TabWidget,在这里我必须根据它们的选择状态更改一些视图。这就是我想要实现的目标: <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_selected="true" android:height="10
<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" ... />
我显然做错了什么,因为我的应用程序一直在崩溃。甚至可能吗?根据开发者文档:
android:布局和高度
指定视图的基本高度。这是必需的属性
用于包含布局管理器内的任何视图。它的价值可能是
尺寸,例如恒定高度的12倾角或
特殊常数。可以是一个尺寸值,它是一个浮点
附加单位的数字,如14.5sp。可用单位为:px
像素,dp密度无关像素,sp缩放像素基于
首选字体大小,单位为英寸,毫米。这也可能是
对资源的引用,格式为@[package:]type:name或
表单中的主题属性?[package:][type:]名称包含
此类型的值
所以,从技术上讲,你们想做的是不可能的。我知道它会崩溃,但我不知道为什么系统不会从选择器中拉出高度。下面是错误报告:二进制XML文件第18行:您必须提供layout_height属性。因此,我必须实现一个侦听器,然后单击fetch the tabWidget并更改它旁边视图的高度?或者有没有其他更优雅的方法来改变视图的高度?以编程的方式进行是最好的选择