在標記爲解決問題之前,許多主題都解決了這個問題,但沒有給出一個好的解決方案。如何使居中和比例圖像而不是文本的單選按鈕?
我想創建radio buttons
與中心按比例大小的圖像,在自適應RadioGroup
(android:layout_width="0dp"
和android:layout_weight="1"
)
解決方案,請勿工作:
- 設置或
android:drawableStart="R.drawable.x"
及其兄弟姐妹 - 圖像將被偏離中心,圍繞一個看不見的文字徘徊
實施例:
`<RadioGroup
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:gravity="center_horizontal|center">
<RadioButton
android:id="@+id/bt_home"
style="@style/radio_btn_style"
android:button="@drawable/radio_btn_home_selector"/>
<RadioButton
android:id="@+id/bt_discover"
style="@style/radio_btn_style"
android:button="@drawable/radio_btn_discover_selector"/>
<RadioButton
android:id="@+id/bt_my_profile"
android:button="@drawable/radio_btn_my_profile_selector"
android:checked="true"
style="@style/radio_btn_style"
/>
<RadioButton
android:layout_weight="1"
android:id="@+id/bt_new_activity"
style="@style/radio_btn_style"
android:button="@drawable/radio_btn_add_activity_selector"
/>
</RadioGroup>`
結果:單選按鈕偏離中心
- 設置
android:background="R.drawable.x"
- 圖像將塗片填充的背景。 - 設置
RadioButton
android:layout_width="wrap_content"
- 蕉按鈕中心,但均勻分佈在整個不隔開RadioGroup
寬度
實施例:
<RadioGroup
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:gravity="center_horizontal|center">
<RadioButton
android:id="@+id/bt_home"
style="@style/radio_btn_style"
android:background="@drawable/radio_btn_home_selector"
android:button="@null"/>
<RadioButton
android:id="@+id/bt_discover"
style="@style/radio_btn_style"
android:background="@drawable/radio_btn_discover_selector"
android:button="@null"/>
<RadioButton
android:id="@+id/bt_my_profile"
android:background="@drawable/radio_btn_my_profile_selector"
android:checked="true"
style="@style/radio_btn_style"
android:button="@null"/>
<RadioButton
android:layout_weight="1"
android:id="@+id/bt_new_activity"
style="@style/radio_btn_style"
android:background="@drawable/radio_btn_add_activity_selector"
android:button="@null"/>
</RadioGroup>
結果:background icons get smeared
結果:單選按鈕束身
這是結果我wan't: radio buttons spaced out evenly, maintaining image proportion
任何想法?謝謝...
P.S.: 所使用的風格:
`<style name="radio_btn_style">
<item name="android:layout_width">0dp</item>
<item name="android:layout_weight">1</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_marginEnd">16dp</item>
<item name="android:layout_marginStart">16dp</item>
</style>`
繪製選擇例如:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/ic_nav_home_selected"
android:state_checked="true"/>
<item android:drawable="@drawable/ic_nav_home"/>
</selector>
謝謝,但這仍然會導致圖像在不同屏幕尺寸上塗抹的問題... – Mardann