`

Android中使用attrs.xml文件定制RadioButton(转)

 
阅读更多

Android中使用attrs.xml文件定制RadioButton

1.在res/values下创建attrs.xml

<declare-styleable name="MyRadioButton">
        <attr name="str" format="string"/>
</declare-styleable>

 

MyRadioButton为组件名字,随意起,attr标签定义组件的属性,name对应的是属性名,format是属性的类型,具体可参见《 [Android]attrs.xml文件中属性类型format值的格式》。

 

2.在自定义的组件中使用attrs.xml文件的定义

public class MyRadioButton extends RadioButton {
    private String url;
     
    public MyRadioButton(Context context, AttributeSet attrs) {
        super(context, attrs);
        TypedArray taArray = context.obtainStyledAttributes(attrs,R.styleable.MyRadioButton);
        this.url = taArray.getString(R.styleable.MyRadioButton_str);
        taArray.recycle();
    }
 
    public String getUrl() {
        return url;
    }
 
    public void setUrl(String url) {
        this.url = url;
    }     
 
}

 a. TypedArray是存放资源R.styleable.MyRadioButton指定的属性集合。 
b. 通过getXXX()获取属性值。 
c. recycle()结束绑定 3.在布局文件中使用

 

 

 

 

 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:demo="http://schemas.android.com/apk/res/net.csdn.blog.wxg630815"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
    <RadioGroup
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       >
        <net.csdn.blog.wxg630815.MyRadioButton
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:id="@+id/myradio1"
            demo:str="1.csdn.net"
            />
        <net.csdn.blog.wxg630815.MyRadioButton
            android:layout_width="fill_parent"
            android:layout_height="wrap_parent"
            android:id="@+id/myradio2"
            demo:str="2.csdn.net"
            />
        
   </RadioGroup>
 
</LinearLayout>

 

注意: xmlns:demo="http://schemas.android.com/apk/res/net.csdn.blog.wxg630815"

只有声明这句以后,url属性才会被布局文件识别。net.csdn.blog.wxg630815指的是AndroidManifest.xml文件中manifest元素的package属性值。

使用demo:str给url赋值。

分享到:
评论

相关推荐

    Android自定义RadioButton及RadioGroup

    接下来,我们需要在自定义的RadioButton类中使用这个selector。创建一个新的Java类,例如CustomRadioButton,继承自RadioButton: ```java public class CustomRadioButton extends RadioButton { public Custom...

    Android应用源码之MyRadioButton.zip

    在布局文件中使用自定义的RadioButton: ```xml &lt;com.example.myapp.MyRadioButton android:id="@+id/myRadioButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text...

    android控件中英对照

    5. **实例化与使用**:在布局XML文件中使用自定义控件,通过指定类名和属性来实例化和配置控件。 ### 示例:LabelView的实现与使用 以LabelView为例,这是一个自定义控件的实现,包含三个主要文件: - `LabelView...

    android 属性汇总.rar

    - `android:animation`:在Transition动画中使用,定义动画效果。 - `android:duration`:设置动画的持续时间。 - `android:interpolator`:指定动画的时间插值器,控制动画的速度变化。 5. **事件处理属性**: ...

    安卓常用控件使用示例.zip

    - 自定义属性可通过创建res/values/attrs.xml文件,然后在自定义控件中解析这些属性,使得在XML布局文件中能灵活配置控件的样式。 3. 布局管理器: - Android提供了多种布局管理器,如LinearLayout(线性布局),...

    仿美团支付自定义radiobutton

    在布局文件中使用自定义的RadioButton,替换默认的RadioButton,并为其设置相应的属性。 ```xml &lt;com.example.customradio.CustomButton android:id="@+id/radioButton_alipay" android:layout_width="wrap_...

    自定义控件的实现

    完成以上步骤后,我们就可以在代码中使用这个自定义的RadioButton,并通过`getValue()`方法获取设置的`value`值,或者通过`setValue()`方法设置新的值。这使得每个RadioButton不仅可以显示文本,还可以携带额外的...

    SwitchButton 开关按钮的多种实现方式源码

    3. 如果需要,定义自定义属性并声明在`attrs.xml`文件中,以便在XML布局中使用。 4. 在XML布局文件中使用自定义控件,通过`app:`前缀引用自定义属性。 在实现自定义`SwitchButton`时,可以考虑以下几点: - **动画...

    RadioButtonDemo.rar

    在Android开发中,RadioButton是一个常用的UI组件,用于在多个选项中选择一个。它属于RadioGroup的一部分,RadioGroup可以管理一组RadioButton,确保同一时间只能有一个RadioButton被选中。本示例"RadioButtonDemo....

    流式布局,竖排RadioButton

    接下来,在XML布局文件中使用这个自定义的FlowLayout: ```xml &lt;com.example.yourpackage.PLRadioButton android:id="@+id/radio_group" android:layout_width="wrap_content" android:layout_height="wrap_...

    Android自定义控件系列之基础篇 烟台杰瑞教育原创

    4. 在布局文件中使用自定义控件,并通过XML属性为控件设置值。 二、实现自定义控件案例 本部分以创建一个带有自定义属性的RadioButton为例,介绍如何创建和使用自定义控件。 1. 创建自定义控件类 首先,需要创建一...

    实现类似RadioGroup,RadioButton的自定义控件实现

    5. 设置属性:为了使自定义控件具有可配置性,可以使用`attrs.xml`定义自定义属性,然后在`setAttributes`方法中解析这些属性并应用到视图上。 6. 测试与使用:创建一个测试项目,将自定义控件添加到布局文件中,...

    android自定义Switch控件详解

    为了方便在布局文件中使用和配置自定义Switch,我们可以添加自定义属性。在res/values/attrs.xml中定义新的属性,然后在自定义控件类中通过`TypedArray`获取这些属性值。 6. **实现逻辑**: 在`MyCustomSwitch`类...

    多种不同自定义开关控件

    在Android中,可以通过创建`attrs.xml`文件来定义自定义属性,然后在布局文件中引用这些属性,为控件设置不同的样式或配置。例如,可以定义颜色、大小、字体等属性,使得在XML布局中就能轻松控制自定义开关的外观。 ...

    AndroidUI设计

    通过在res/values/attrs.xml文件中定义自定义属性,然后在代码中通过TypedArray读取这些属性,可以为组件提供更多的配置选项。 最后,自定义图形涉及到使用Canvas、Path、Paint等类进行绘制。开发者可以利用这些...

    Andriod: 网格状RadioGroup的实现

    radioButton.setChecked(true); selectedRadioButton = radioButton; } } ``` 2. 创建RadioButton的布局:为每个RadioButton创建一个XML布局文件,例如`radio_button.xml`,包含单选按钮及其文字描述。 ```xml ...

    应用源码之MyRadioButton.zip

    4. **属性定制**:为了方便在布局文件中使用,我们可以创建自定义属性,这些属性可以在XML中设置,从而控制自定义RadioButton的外观和行为。例如,添加可设置的颜色、尺寸等属性。检查 `res/values/attrs.xml` 文件...

    自定义安卓中的Switch控件

    在布局文件中,我们需要为自定义的Switch控件指定一个独特的`android:id`,并可以通过`app:`属性引用自定义的Style。例如: ```xml &lt;com.example.CustomButtonSwitch android:id="@+id/customSwitch" android:...

Global site tag (gtag.js) - Google Analytics