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,是的,我的朋友,HorizontalScrollView 是更好的方法。但我们设计师说不会滚动这个RadioButton
s。只需修复所有设备的大小!你能帮我吗?
尝试在单选按钮中设置 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怎么用代码设置文字居中