自定义RadioButton
来源:互联网 发布:淘宝宝贝被管控怎么办 编辑:程序博客网 时间:2024/06/15 18:47
有时候,我们需要多个Button控件,而且这些控件互相限制,这个时候,我们就可以想到RadioGroup。以下为部分代码,附带着demo源代码。
1、自定义RadioButton
package com.shao.button.buttonlistener;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.RadioGroup;
public class ButtonRadioGroup extends RadioGroup {
public ButtonRadioGroup(Context context) {
super(context);
}
public ButtonRadioGroup(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onFinishInflate() {
super.onFinishInflate();
changeButtonsImages();
}
private void changeButtonsImages(){
int count = super.getChildCount();
if(count > 1){
super.getChildAt(0).setBackgroundResource(R.drawable.absence_radio);
for(int i=1; i < count-1; i++){
super.getChildAt(i).setBackgroundResource(R.drawable.ask_radio);
}
super.getChildAt(count-1).setBackgroundResource(R.drawable.late_radio);
}else if (count == 1){
super.getChildAt(0).setBackgroundResource(R.drawable.init_button);
}
}
}
2、自定义Adapter布局
<?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="horizontal" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="10dip"
/>
<TextView
android:id="@+id/studentname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:textSize="15sp" />
<TextView
android:id="@+id/studentid"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:textSize="15sp" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="right"
android:orientation="horizontal" >
<com.shao.button.buttonlistener.ButtonRadioGroup
android:id="@+id/button_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dip"
android:checkedButton="@+id/button_one"
android:orientation="horizontal" >
<RadioButton
android:id="@id/button_one"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_margin="3dp"
android:button="@null"
android:gravity="center"
android:minHeight="33dip"
android:minWidth="40dip" />
<RadioButton
android:id="@+id/button_two"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_margin="3dp"
android:button="@null"
android:gravity="center"
android:minHeight="33dip"
android:minWidth="40dip" />
<RadioButton
android:id="@+id/button_three"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_margin="3dp"
android:button="@null"
android:gravity="center"
android:minHeight="33dip"
android:minWidth="40dip" />
</com.shao.button.buttonlistener.ButtonRadioGroup>
</LinearLayout>
</LinearLayout>
源代码下载:ButtonListener.zip
- RadioButton与自定义RadioButton
- 自定义RadioButton
- 自定义Radiobutton
- 自定义radiobutton
- 自定义RadioButton
- RadioButton 自定义
- 自定义RadioButton
- 自定义RadioButton
- 自定义RadioButton
- RadioButton - android 自定义RadioButton样式
- 自定义RadioButton样式1
- 自定义RadioButton样式
- RadioButton自定义样式
- 自定义 RadioButton 图片
- android 自定义RadioButton样式
- Android RadioButton的自定义
- 自定义RadioButton样式2
- 自定义RadioButton样式
- 最大公约数——递归法
- MSP430的AD7705驱动程序
- java学习123之Object类
- 多态性——对象的多态性
- 怎样将JPG转换成PDF
- 自定义RadioButton
- my dreamed cards
- getWidth和getMeasuredWidth在何时可以得到正确数值
- XML转json输出
- Ubuntu 下配置 SSH服务全过程及问题解决
- Java字节码框架ASM-读写字节码的用法
- @RequestMapping 用法详解之地址映射(入门篇)
- mser处理文本区域
- Oracle数据导出遇到的问题及解决的办法