Android - Radio Group Button Text Position
-
21-12-2019 - |
Question
I have a layout which have RadioGroup and radiobuttons. it works but there are problems in display. I've shared the screenshots below.
Android 4.2.1 - 4.65 inch
Tablet Android 2.2 - 7 inch
Android 4.1.2 - 5.5 inch
code from the bottorbar layout
<?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>
code from main layout
<?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>
I have been working for a few days.I didn't understand problem. Can someone help me ?
my icon
Solution
I found problem. The Problem is android:button="@null".
if radiobutton has android:button="@null" property; result :
if radiobutton hasn't android:button="@null" property; result :
if radiobutton has android:button="@null" and android:background= "@android :color/ transparent" property result :
I added android:background= "@android :color/ transparent" propery every radiobutton and Problem was solved.
OTHER TIPS
Try out below layout. I have assigned an equal weight to all the RadioButton's so that it will be adjust its size according to the screen size. Its working fine now. Change your images accroding to you.
<?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>
Try this..
Change the RadioGroup
width as match_parent
and try.
<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" >
and
<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>
Here is my full code
<?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>