2

请告诉我单选按钮组或单选按钮 xml 代码中的问题是什么?单选按钮圈在“HTC Sensation”等某些设备中输入文本。我不知道有什么问题。请帮我...

此链接是 HTC Sensation 的图片: https ://www.dropbox.com/s/7gjvn09kplv5zqf/HTC%20Sensation.jpg?dl=0

这是模拟器的图片: https ://www.dropbox.com/s/tdnpc5vfdf9l1n9/Simulator.png?dl=0

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/TextView01"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="20dp"
            android:layout_marginTop="10dp"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:text="@string/dialog_choose_music"
            android:textColor="#ffffff"
            android:textSize="18sp" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >

            <RadioGroup
                android:id="@+id/selectMusicRadioGroup"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/between_games_timer"
                android:orientation="vertical" >

                <RadioButton
                    android:id="@+id/silent"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginBottom="3dp"
                    android:background="@drawable/bg_color_selector"
                    android:checked="true"
                    android:ellipsize="end"                        
                    android:tag="silent"
                    android:maxLines="1"
                    android:paddingBottom="15dp"
                    android:paddingLeft="10dp"
                    android:paddingRight="10dp"
                    android:paddingTop="15dp"
                    android:singleLine="true"
                    android:text="@string/silent"
                    android:textColor="#ffffff"
                    android:textSize="16sp" >
                </RadioButton>

                <RadioButton
                    android:id="@+id/myMusic"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginBottom="3dp"
                    android:background="@drawable/bg_color_selector"
                    android:ellipsize="end"
                    android:tag="my_music"
                    android:maxLines="1"
                    android:paddingBottom="15dp"
                    android:paddingLeft="10dp"
                    android:paddingRight="10dp"
                    android:paddingTop="15dp"
                    android:singleLine="true"
                    android:text="@string/custom_music"
                    android:textColor="#ffffff"
                    android:textSize="16sp" >
                </RadioButton>
            </RadioGroup>
        </LinearLayout>
</LinearLayout>
4

2 回答 2

1

在某些设备上,根本不支持单选按钮和复选框上的填充。Android 在内部使用 padding 属性来放置文本和图片,因此自己更改填充会搞砸。

删除填充并在包含布局上使用边距。

于 2014-09-13T15:07:52.990 回答
0

您与 RadioButton 一起使用的“填充”属性仅适用于文本。此外,Android 将 RadioButton/CheckBox 的圆圈视为可绘制对象。(您可以看到单选按钮中有drawableTop、drawableBottom、...)。

因此,要在圆上应用填充,您应该使用“drawablePadding”属性,如下所示:

<RadioButton
                android:id="@+id/myMusic"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="3dp"
                android:drawablePadding="10dp" />
于 2014-09-13T15:34:04.080 回答