如何在安卓中减小单选按钮的大小

7
可以在Android中减小单选按钮的大小吗?

这是你的解决方案:https://dev59.com/31LTa4cB1Zd3GeqPXR7r。另外,这里还有一篇关于改变复选框外观的文章:http://www.anddev.org/tutorial_change_look_of_checkbox-t4553.html。 - Pankaj Kumar
4个回答

5
据我所知,单选按钮的实现方式与其他 EditText 或 TextView 不同。请尝试使用以下代码:
<RadioGroup android:layout_width="fill_parent"               
            android:layout_height="50dp"           
            android:orientation="horizontal"         
            android:checkedButton="@+id/first">  

 <RadioButton android:id="@+id/first"        
      android:width="50dp"        
      android:height="50dp"        
      android:button="@drawable/button_radio"/> 

   <RadioButton android:id="@+id/second"        
      android:width="50dp"     
      android:height="50dp"     
      android:button="@drawable/button_radio"/>

   <RadioButton android:id="@+id/third"
      android:width="50dp"
      android:height="50dp"
      android:button="@drawable/button_radio"/>

   <RadioButton android:id="@+id/fourth"                                          
      android:width="50dp"              
      android:height="50dp"           
      android:button="@drawable/button_radio"/>           
</RadioGroup>

同时,您也可以查看这个示例。它会帮助您很多。


还有一件事,当我点击这些按钮中的任何一个时,如何使它可选。 - user671005
我不确定,但我认为你必须使用StateListDrawable。只需查看这两个示例,您就可以了解一些东西。http://heliodorj.blogspot.com/2009/04/androids-statelistdrawable-example.html和http://developer.android.com/reference/android/graphics/drawable/StateListDrawable.html - Hussain

5

如果您正在使用单选按钮,通常它会从android-sdk中获取图像资源,例如:/android-sdk-macosx/platforms/android-10/data/res/drawable-hdpi

如果您想自定义它,请从此文件夹中获取资源并调整大小(我得到的大小为34 x 48,调整为19 x 24)然后您可以像这样使用它:

这是我的radio_button.xml

 <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/btn_radio_on" android:state_checked="true" android:state_pressed="false"/>
    <item android:drawable="@drawable/btn_radio_off" android:state_checked="false" android:state_pressed="false"/>
    <item android:drawable="@drawable/btn_radio_on_pressed" android:state_checked="true" android:state_pressed="true"/>
    <item android:drawable="@drawable/btn_radio_off_pressed" android:state_checked="false" android:state_pressed="true"/>

</selector>

以下是我的main.xml文件

 <?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="fill_parent"
    android:orientation="vertical" >

    <RadioGroup
        android:layout_width="fill_parent"
        android:layout_height="30dp"
        android:checkedButton="@+id/first"
        android:orientation="horizontal" >

        <RadioButton
            android:id="@+id/first"
            android:button="@drawable/radio_button"
            android:height="20dp"
            android:width="20dp" />

        <RadioButton
            android:id="@+id/second"
            android:button="@drawable/radio_button"
            android:height="20dp"
            android:width="20dp" />

        <RadioButton
            android:id="@+id/third"
            android:button="@drawable/radio_button"
            android:height="20dp"
            android:width="20dp" />

        <RadioButton
            android:id="@+id/fourth"
            android:button="@drawable/radio_button"
            android:height="20dp"
            android:width="20dp" />
    </RadioGroup>

</LinearLayout>

由于声誉不高,我无法在此上传图片,因此我提供资源和输出图像的链接。

https://www.dropbox.com/sh/7518zf3onh4su0z/fO7CP7o1EY


如何以编程方式实现? - Gayathri

3

减小单选按钮大小的简单方法是:

<RadioButton android:scaleX="0.75" android:scaleY="0.75" />

当您增大大小时,可能会出现缩放问题,但减小大小应该可以正常工作。


这也将增加文本。 - Vlad

-1

我认为这不能实现,因为单选按钮是内置的组件,其大小是固定的。


1
这些组件的可绘制对象可以被修改以呈现不同的外观。 - Bananeweizen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接