需要实现的功能是底部的菜单布局
生效前,背景设置就生效了。
布局的代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<RadioGroup
android:id="@+id/activity_main_botton_radiogroup"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<RadioButton
android:id="@+id/activity_main_botton_radiobutton_nearby"
android:layout_width="0dp"
android:layout_height="55dp"
android:layout_weight="1.0"
android:background="@drawable/botton_btn"
android:button="@null"
android:drawableTop="@drawable/botton_top_nearby_btn"
android:gravity="center"
android:text="@string/botton_fujin" />
<RadioButton
android:id="@+id/activity_main_botton_radiobutton_search"
android:layout_width="0dp"
android:layout_height="55dp"
android:layout_weight="1.0"
android:background="@drawable/botton_btn"
android:button="@null"
android:drawableTop="@drawable/botton_top_search_btn"
android:gravity="center"
android:text="@string/botton_sousuo" />
<RadioButton
android:id="@+id/activity_main_botton_radiobutton_favorite"
android:layout_width="0dp"
android:layout_height="55dp"
android:layout_weight="1.0"
android:background="@drawable/botton_btn"
android:button="@null"
android:drawableTop="@drawable/botton_top_fav_btn"
android:gravity="center"
android:text="@string/botton_shoucang" />
<RadioButton
android:id="@+id/activity_main_botton_radiobutton_more"
android:layout_width="0dp"
android:layout_height="55dp"
android:layout_weight="1.0"
android:background="@drawable/botton_btn"
android:button="@null"
android:drawableTop="@drawable/botton_top_more_btn"
android:gravity="center"
android:text="@string/botton_gengduo" />
</RadioGroup>
</LinearLayout>
以上这份代码是经过修改后正确的。
之前出现了一个问题,问题效果如下(两个按钮所占的空间位置不一样大):
明显的可以看到第二个button比第一个button占的位置要小,后面两个button也比第一个小。
仔细排查发现,是由于代码
android:layout_width="wrap_content"
出问题。初步断定是由于背景图片过大,在代码
android:layout_weight="1.0"
生效前,背景设置就生效了。
所以将控件的宽度设置为0dp即可:
android:layout_width="0dp"