android RadioButton 怎么设置只显示图片不显示图片,因为图片上已经有文字了

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android RadioButton 怎么设置只显示图片不显示图片,因为图片上已经有文字了相关的知识,希望对你有一定的参考价值。

设置drawableTop的话 会在下面留空一块区域,太占地方了也不好看,如图上,如果设background的话又会把图片拉的很难看,如图下,求大神指教

只需要给RadioButton配置一个Selector背景选择器即显示图片。
1.创建mylist_view.xml文件
首先在res目录下新建drawable文件夹,再在新建的drawable文件夹中新建mylist_view.xml,其目录结构为:res/drawable/mylist_view.xml。

2.根据具体需求编辑mylist_view.xml文件
新建mylist_view.xml文件后,在没有添加任何属性时其内部代码结构为:
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
</selector>

3.下面就可以根据项目需求,在其内部定义为自己想要的样式了,主要属性如下:
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 默认时的背景图片-->
<item android:drawable="@drawable/pic1" />
<!-- 没有焦点时的背景图片 -->
<item android:state_window_focused="false" android:drawable="@drawable/pic1" />
<!-- 非触摸模式下获得焦点并单击时的背景图片 -->
<item android:state_focused="true" android:state_pressed="true" android:drawable= "@drawable/pic2" />
<!-- 触摸模式下单击时的背景图片-->
<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/pic3" />
<!--选中时的图片背景-->
<item android:state_selected="true" android:drawable="@drawable/pic4" />
<!--获得焦点时的图片背景-->
<item android:state_focused="true" android:drawable="@drawable/pic5" />
</selector>

4.引用mylist_view.xml文件
android:background="@drawable/mylist_view"
参考技术A 1.要么你的图片里边不要写文字的东西。
2.如果用background的话,只能调整图片大小了。
3.除了drawableTop,还有bottom/left/right 三个呢,可以试着调整下。本回答被提问者采纳

如何在android中动态设置RadioButton大小

【中文标题】如何在android中动态设置RadioButton大小【英文标题】:How to dynamically set RadioButton size in android 【发布时间】:2019-11-25 21:37:33 【问题描述】:

我想在水平中显示10 radioButtons。 我尝试将其添加到RadioGroup,但运行应用程序后,它并没有显示所有radioButtons我的用户界面图像: @ 987654321@

在某些设备上,radioButtons 并未全部显示。

如何动态从设备屏幕宽度将尺寸设置为radioButton

我的布局:

<RadioGroup
        android:id="@+id/radioGrp"
        android:layout_
        android:layout_
        android:layout_marginTop="8dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/bidStepper_txt"
        android:orientation="horizontal">

            <RadioButton
                android:layout_
                android:layout_
                android:text="10" />

            <RadioButton
                android:layout_
                android:layout_
                android:text="9" />

            <RadioButton
                android:layout_
                android:layout_
                android:text="8" />

            <RadioButton
                android:layout_
                android:layout_
                android:text="7" />

            <RadioButton
                android:layout_
                android:layout_
                android:text="6" />

            <RadioButton
                android:layout_
                android:layout_
                android:text="5" />

            <RadioButton
                android:layout_
                android:layout_
                android:text="4" />

            <RadioButton
                android:layout_
                android:layout_
                android:text="3" />

            <RadioButton
                android:layout_
                android:layout_
                android:text="2" />

            <RadioButton
                android:layout_
                android:layout_
                android:text="1" />

    </RadioGroup>

我怎么会这样?

【问题讨论】:

最好使用HorizontalScrollView .. 因为如果你尝试用固定宽度换行RadioButtons 可能会太小或有时太大.. @ADM,是的,我的朋友,Horizo​​ntalScrollView 是更好的方法。但我们设计师说不会滚动这个RadioButtons。只需修复所有设备的大小!你能帮我吗? 尝试在单选按钮中设置 layout_weight 即 android:layout_weight = 0.1 【参考方案1】:

屏幕上显示的所有项目使用将android:layout_weight=".1" 分配给所有RadioButton

android:layout_weight根据设备屏幕宽度将所有单选按钮宽度等分,但布局存在问题,因为在某些设备中它可以被剪裁,因为某些设备的屏幕宽度较小,以克服这个问题您可以使用如下所示的水平滚动视图:

 <HorizontalScrollView
        android:layout_
        android:layout_>
        <RadioGroup
            android:id="@+id/radioGrp"
            android:layout_
            android:layout_
            android:layout_marginTop="8dp"
            android:orientation="horizontal">

            <RadioButton

                android:layout_
                android:layout_
                android:text="10" />

            <RadioButton

                android:layout_
                android:layout_
                android:text="9" />

            <RadioButton

                android:layout_
                android:layout_
                android:text="8" />

            <RadioButton

                android:layout_
                android:layout_
                android:text="7" />

            <RadioButton

                android:layout_
                android:layout_
                android:text="6" />

            <RadioButton
                android:layout_
                android:layout_

                android:text="5" />

            <RadioButton

                android:layout_
                android:layout_
                android:text="4" />

            <RadioButton

                android:layout_
                android:layout_
                android:text="3" />

            <RadioButton

                android:layout_
                android:layout_
                android:text="2" />

            <RadioButton

                android:layout_
                android:layout_
                android:text="1" />

        </RadioGroup>
    </HorizontalScrollView>

我希望它对你有用。

【讨论】:

【参考方案2】:

这里是有用的示例代码

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_
     android:layout_
     android:paddingBottom="@dimen/activity_vertical_margin"
     android:paddingLeft="@dimen/activity_horizontal_margin"
     android:paddingRight="@dimen/activity_horizontal_margin"
     android:paddingTop="@dimen/activity_vertical_margin"
     tools:context="com.radiobuttonhorizontal_android_examples.com.MainActivity" >



     <RadioGroup
     android:id="@+id/radiogroup"
     android:layout_
     android:layout_
     android:orientation="horizontal"
     android:layout_centerVertical="true"
     android:layout_centerHorizontal="true" >
     <RadioButton
     android:id="@+id/radioButton1"
     android:layout_
     android:layout_
     android:text="Android" />

     <RadioButton
     android:id="@+id/radioButton2"
     android:layout_
     android:layout_
     android:text="PHP" />

     <RadioButton
     android:id="@+id/radioButton3"
     android:layout_
     android:layout_
     android:text="Blogger" />
    </RadioGroup>

     <TextView
     android:id="@+id/textView1"
     android:layout_
     android:layout_
     android:layout_above="@+id/radiogroup"
     android:layout_centerHorizontal="true"
     android:layout_marginBottom="25dp"
     android:text="Horizontal Radio Buttons"
     android:textAppearance="?android:attr/textAppearanceLarge" />

    </RelativeLayout>

【讨论】:

谢谢亲爱的,但我可以显示水平单选按钮!但我的 radioButtons 有 10 个项目,因此不会显示所有项目

以上是关于android RadioButton 怎么设置只显示图片不显示图片,因为图片上已经有文字了的主要内容,如果未能解决你的问题,请参考以下文章

android 动态添加的radiobutton怎么用代码设置文字居中

RadioButton 颜色设置:

android RadioButton怎么设置默认选中

android RadioButton怎么设置默认选中

android radiobutton点击后一直是选中状态,怎么再点击后取消选中

请问在android的listView中怎么动态加入radioButton和Button按钮?