我使用 XML 布局创建器在 Android 中创建了一个自定义图标栏,使用 LinearLayout 中的 RadioGroup(XML 包含在下面)。RadioGroup 中的每个 RadioButton 都有一个自定义可绘制对象(具有选中和未选中状态)作为其android:button
属性。
线性布局本身在 aRelativeLayout
中,因此它可以出现在屏幕上的任意位置(在本例中作为侧边栏)。
可绘制对象是 55 像素宽,android:layout\_width
所有这些视图的属性都是wrap\_content
.
当我使这个组件可见时,对齐到屏幕的左下角,只有大约四分之三的 RadioButton 图像宽度是可见的。将 的 设置layout\_width
为RelativeLayout
纠正fill\_parent
此问题并导致出现完整按钮。
然而,这意味着按钮组在整个屏幕宽度上消耗点击事件。
如何使整个按钮出现,并且只有按钮区域响应点击?硬编码drawable的宽度并不是一个特别理想的解决方案。
<RelativeLayout android:id="@+id/RelativeLayout01" android:layout_width="wrap_content" android:layout_height="wrap_content">
<LinearLayout android:id="@+id/LinearLayout02" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:layout_below="@+id/LinearLayout01" android:visibility="invisible">
<RadioGroup android:id="@+id/RadioGroup01" android:layout_height="wrap_content" android:checkedButton="@+id/RB01" android:layout_width="fill_parent">
<RadioButton android:id="@+id/RB01" android:layout_width="fill_parent" android:layout_height="wrap_content" android:button="@drawable/DR01"/>
<RadioButton android:id="@+id/RB02" android:layout_width="fill_parent" android:layout_height="wrap_content" android:button="@drawable/DR02"/>
<RadioButton android:id="@+id/RB03" android:layout_width="fill_parent" android:layout_height="wrap_content" android:button="@drawable/DR03"/>
<RadioButton android:id="@+id/RB04" android:layout_width="fill_parent" android:layout_height="wrap_content" android:button="@drawable/DR04"/>
</RadioGroup>
</LinearLayout>
</RelativeLayout>