【问题标题】:Android - Radio Group Button Text PositionAndroid - 单选组按钮文本位置
【发布时间】:2014-01-27 18:03:19
【问题描述】:

我有一个包含 RadioGroup 和单选按钮的布局。它可以工作,但显示有问题。我已经分享了下面的屏幕截图。

Android 4.2.1 - 4.65 英寸

平板电脑 Android 2.2 - 7 英寸

Android 4.1.2 - 5.5 英寸

bottorbar 布局中的代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="wrap_content"
    android:padding="3dp" android:gravity="center"
    android:background="@drawable/bottom"
     >

    <RadioGroup
        android:id="@+id/radioTur"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:measureWithLargestChild="true"
        android:layout_gravity="center_vertical"
        android:orientation="horizontal" >

        <RadioButton
    android:id="@+id/rad_anasayfa"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:button="@null"
    android:gravity="center"
    android:drawableTop="@drawable/anasayfabutton"
    android:textColor="@color/White"
    android:onClick="Anasayfa_TIKLA"
    android:text="Anasayfa" >
    </RadioButton>

      <RadioButton
    android:id="@+id/rad_haber"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:button="@null"
    android:gravity="center"
    android:layout_weight="1"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:drawableTop="@drawable/haberlerbutton"
    android:textColor="@color/White"
    android:onClick="Haber_TIKLA"
    android:text="Haberler" >
    </RadioButton>

        <RadioButton
    android:id="@+id/rad_duyuru"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:button="@null"
    android:gravity="center"
    android:layout_weight="1"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:drawableTop="@drawable/duyurubutton"
    android:textColor="@color/White"
    android:onClick="Duyuru_TIKLA"
    android:text="Duyurular" >
    </RadioButton>

          <RadioButton
    android:id="@+id/rad_yemek"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:button="@null"
    android:gravity="center"
    android:layout_weight="1"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:drawableTop="@drawable/yemekbutton"  
    android:textColor="@color/White"
    android:onClick="Yemek_TIKLA"
    android:text="Yemek" >
    </RadioButton>

            <RadioButton
    android:id="@+id/rad_search"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:button="@null"
    android:gravity="center"
    android:layout_weight="1"
    android:onClick="Arama_TIKLA"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:drawableTop="@drawable/search_icon"
    android:textColor="@color/White"
    android:text="Arama" >
    </RadioButton>

</RadioGroup>
</LinearLayout>

主布局中的代码

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
     android:id="@+id/AnaLayout"
     >
<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/linearLayout1"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true" >

    <include
        android:id="@+id/cell1"
        android:layout_height="wrap_content"
        layout="@layout/bottombar"
         />
</LinearLayout>
</RelativeLayout>

我已经工作了几天。我不明白问题。有人可以帮我吗?

我的图标

【问题讨论】:

标签: android android-layout radio-group


【解决方案1】:

试试这个..

RadioGroup宽度改成match_parent试试看。

<RadioGroup
        android:id="@+id/radioTur"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:measureWithLargestChild="true"
        android:layout_gravity="center_vertical"
        android:orientation="horizontal" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/linearLayout1"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true" >

    <include
        android:id="@+id/cell1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        layout="@layout/bottombar"
         />
</LinearLayout>

这是我的完整代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:padding="3dp" >

    <RadioGroup
        android:id="@+id/radioTur"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:measureWithLargestChild="true"
        android:orientation="horizontal" >

        <RadioButton
            android:id="@+id/rad_anasayfa"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:button="@null"
            android:drawableTop="@drawable/uP13v"
            android:gravity="center"
            android:onClick="Anasayfa_TIKLA"
            android:text="Anasayfa"
            android:textAppearance="?android:attr/textAppearanceSmall" >
        </RadioButton>

        <RadioButton
            android:id="@+id/rad_haber"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:button="@null"
            android:drawableTop="@drawable/uP13v"
            android:gravity="center"
            android:onClick="Haber_TIKLA"
            android:text="Haberler"
            android:textAppearance="?android:attr/textAppearanceSmall" >
        </RadioButton>

        <RadioButton
            android:id="@+id/rad_duyuru"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:button="@null"
            android:drawableTop="@drawable/uP13v"
            android:gravity="center"
            android:onClick="Duyuru_TIKLA"
            android:text="Duyurular"
            android:textAppearance="?android:attr/textAppearanceSmall" >
        </RadioButton>

        <RadioButton
            android:id="@+id/rad_yemek"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:button="@null"
            android:drawableTop="@drawable/uP13v"
            android:gravity="center"
            android:onClick="Yemek_TIKLA"
            android:text="Yemek"
            android:textAppearance="?android:attr/textAppearanceSmall" >
        </RadioButton>

        <RadioButton
            android:id="@+id/rad_search"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:button="@null"
            android:drawableTop="@drawable/uP13v"
            android:gravity="center"
            android:onClick="Arama_TIKLA"
            android:text="Arama"
            android:textAppearance="?android:attr/textAppearanceSmall" >
        </RadioButton>
    </RadioGroup>

</LinearLayout>

【讨论】:

  • 感谢最后一个孩子的文字问题已解决。但其他人没有改变。
  • @CanerBalım 将 RadioButton 宽度更改为 android:layout_width="0dp" 并添加 android:singleLine="true"
  • 谢谢。多行已消失,但文本看起来像这样 Ana...Hab...Duy...Yem...Arama
  • @CanerBalım 检查我的编辑。将文本大小更改为android:textSize="18dp"
  • @CanerBalım 看看我的答案,它现在完美运行。
【解决方案2】:

试试下面的布局。 我为所有 RadioButton 分配了相同的权重,以便根据屏幕大小调整其大小。 它现在工作正常。根据您的需要更改您的图像。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/aa"
    android:gravity="center"
    android:padding="3dp"
    android:weightSum="1" >

    <RadioGroup
        android:id="@+id/radioTur"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <RadioButton
            android:id="@+id/rad_anasayfa"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight=".2"
            android:button="@null"
            android:gravity="center"
            android:drawableTop="@drawable/ic_circle"
            android:onClick="Anasayfa_TIKLA"
            android:text="Anasayfa"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:textColor="@android:color/white" >
        </RadioButton>

        <RadioButton
            android:id="@+id/rad_haber"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight=".2"
            android:button="@null"
            android:drawableTop="@drawable/ic_circle"
            android:gravity="center"
            android:onClick="Haber_TIKLA"
            android:text="Haberler"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:textColor="@android:color/white" >
        </RadioButton>

        <RadioButton
            android:id="@+id/rad_duyuru"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight=".2"
            android:button="@null"
            android:drawableTop="@drawable/ic_circle"
            android:gravity="center"
            android:onClick="Duyuru_TIKLA"
            android:text="Duyurular"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:textColor="@android:color/white" >
        </RadioButton>

        <RadioButton
            android:id="@+id/rad_yemek"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight=".2"
            android:button="@null"
            android:drawableTop="@drawable/ic_circle"
            android:gravity="center"
            android:onClick="Yemek_TIKLA"
            android:text="Yemek"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:textColor="@android:color/white" >
        </RadioButton>

        <RadioButton
            android:id="@+id/rad_search"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight=".2"
            android:button="@null"
            android:drawableTop="@drawable/ic_circle"
            android:gravity="center"
            android:onClick="Arama_TIKLA"
            android:text="Arama"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:textColor="@android:color/white" >
        </RadioButton>
    </RadioGroup>

</LinearLayout>

【讨论】:

  • 谢谢,但不工作。看起来像第二张图片。但最后一个孩子的文字有所改善。
  • 在我看来它看起来很完美。 @CanerBalım 在您的第一个 RadioButton 中添加 android:gravity="center" 行并检查。
  • 谢谢,但无法使用 android 2.2 平板电脑。为什么要添加 radioGroup-text 和 radioGroup-android:drawableTop 属性?
  • 它只是为了查看puporse而已。你能给我看看你的截图吗? @CanerBalım
  • 感谢您的帮助。您的代码视图看起来像第二张图片。但最后一个子文本得到了改进。
【解决方案3】:

我发现了问题。问题是android:button="@null"

如果RadioButton 具有android:button="@null" 属性,则结果将是:

如果RadioButton 没有android:button="@null" 属性,则结果将是:

如果RadioButton 具有android:button="@null"android:background="@android:color/transparent" 属性,则结果将是:

我将android:background="@android:color/transparent"属性添加到所有RadioButtons,问题就解决了。

【讨论】:

猜你喜欢
  • 2013-09-27
  • 2015-06-19
  • 1970-01-01
  • 2021-11-13
  • 1970-01-01
  • 1970-01-01
  • 2015-10-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多