Android UI(RadioButton)详解

Android常用控件之RadioButton单选按钮 RadioButton是单选按钮,android:checked代表着这个按钮是否选中,如果android:checked=“ture”,那么代表这个按钮被选中。 在安卓中,RadioButton经常和RadioGroup配合使用来实现单选框的单选效果,RadioGroup是单选组合框,可以容纳很多RadioButton但是并不会出现多个单选框被选中的现象。 RadioGroup和RadioButton的使用语法: < RadioGroup android:属性名称=“属性值” . . . . . . 阅读详情
目录:
    1.应用场景      
    2.RadioButton一些重要属性       
    3.RadioButton简单使用    
    4.动态添加RadioButton选项    
    5.RadioButton自定义

1.应用场景
    应用于在多项中只能选取单项的情况,例如性别,但必须与RadioGroup结合使用,如果单独使用的话无法达到单选的结果
    
2.RadioButton一些重要属性 
    1.RadioGroup常用属性
        指定选项横向排列:android:orientation="horizontal"
        指定选项纵向排列:android:orientation="vertical"
        
    2.设置RadioButton颜色(API level> = 21):android:buttonTint="@color/your_color"
    
    3.在自定义背景的时候设置android:button="@null",盖掉原背景
    
    4.设置文字在左,图片在右(下面属性一起设置)
      android:button="@null"
      android:drawableRight="@android:drawable/btn_radio"
                    
    ps:RadioButton与Checkbox的区别在于RadioButton选择后不能再点击取消选择,只能选择其他项,取消前一项的选择 

3.RadioButton简单使用

    1.xml布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.andy.androiduiradiobutton.MainActivity" >


    <TextView
        android:id="@+id/tv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/sex" />
    <RadioGroup 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_toRightOf="@id/tv"
        >
        <RadioButton 
            android:id="@+id/radio_boy"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/boy"
            />
        <RadioButton 
            android:id="@+id/radio_girl"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/girl"
            />


    </RadioGroup>


</RelativeLayout>
    
    2. Java实现代码
package com.andy.androiduiradiobutton;


import android.app.Activity;
import android.os.Bundle;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.RadioButton;
import android.widget.Toast;


public class MainActivity extends Activity {
	private RadioButton radioboy,radiogirl;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		//初始化
		radioboy = (RadioButton) findViewById(R.id.radio_boy);
		radiogirl = (RadioButton) findViewById(R.id.radio_girl);
		//radioboy设置监听
		radioboy.setOnCheckedChangeListener(new OnCheckedChangeListener() {
			
			@Override
			public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
				if(isChecked){
					Toast.makeText(MainActivity.this, "男",Toast.LENGTH_SHORT).show();
				}
			}
		});
		//radiogirl设置监听
		radiogirl.setOnCheckedChangeListener(new OnCheckedChangeListener() {
			
			@Override
			public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
				Toast.makeText(MainActivity.this, "女",Toast.LENGTH_SHORT).show();
			}
		});
	}
}
   
    3.效果截图


    
4.动态添加RadioButton选项 
    1. 布局文件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/rl"
    tools:context="com.andy.androiduiradiobutton.MainActivity" >


    <RadioGroup 
        android:id="@+id/mRadioGroup"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        >


    </RadioGroup>


</RelativeLayout>
   
    2. Java实现代码
package com.andy.androiduiradiobutton;


import android.accounts.Account;
import android.accounts.OnAccountsUpdateListener;
import android.app.Activity;
import android.os.Bundle;
import android.widget.CompoundButton;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.RelativeLayout;
import android.widget.Toast;


public class MainActivity extends Activity {
	private RadioGroup mRadioGroup;
	private RelativeLayout mRelativeLayout;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		//初始化RadioGroup RelativeLayout
		mRadioGroup = (RadioGroup) findViewById(R.id.mRadioGroup);
		mRelativeLayout = (RelativeLayout) findViewById(R.id.rl);
		//先删除已经存在的RadioGroup,否则会报错:The specified child already has a parent.
		mRelativeLayout.removeView(mRadioGroup);
		//动态添加RadioButton
		for(int i=1;i<4;i++){
			RadioButton mRadioButton = new RadioButton(this);
			mRadioButton.setText("mRadioButton"+i);
			//选项添加到RadioGroup
			mRadioGroup.addView(mRadioButton);
		}
		
		//RadioGroup添加到布局
		mRelativeLayout.addView(mRadioGroup);
		//设置监听
		mRadioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
			
			@Override
			public void onCheckedChanged(RadioGroup group, int checkedId) {
				RadioButton mRadioButton1 = (RadioButton) findViewById(checkedId);	
				Toast.makeText(MainActivity.this, mRadioButton1.getText(), Toast.LENGTH_SHORT).show();
	}
			});
	}
	
}
 

    3. 效果截图

5.RadioButton自定义

  1. 通过图片背景+selector自定义
(1)定义selector radio_buttonbg.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">  
    
    <item android:state_checked="true" android:drawable="@drawable/checked"></item>
	<item android:state_checked="false" android:drawable="@drawable/unchecked"></item> 
    
</selector>

(2)主布局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/rl"
    tools:context="com.andy.androiduiradiobutton.MainActivity" >


    <RadioGroup 
        android:id="@+id/mRadioGroup"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        >
        <RadioButton 
            android:id="@+id/radio_boy"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:drawableRight="@drawable/radio_buttonbg"
            android:drawablePadding="10dp"
            android:button="@null"  
            android:text="@string/boy"
            />
		   <!--  android:background="@drawable/radio_buttonbg" -->  
        <RadioButton 
            android:id="@+id/radio_girl"
            android:button="@null"  
            android:drawableRight="@drawable/radio_buttonbg"
            android:drawablePadding="10dp"		     
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/girl"
            />
       <!--  android:background="@drawable/radio_buttonbg"  -->
    </RadioGroup>


</LinearLayout>

 注:android:background="@drawable/radio_buttonbg"设置的图片在文本底部,android:drawablePadding="10dp"设置图片在文字的右边,android:button="@null" 隐藏原来的图标
 
 
(3)Java实现代码
package com.andy.androiduiradiobutton;


import android.app.Activity;
import android.os.Bundle;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.RadioButton;
import android.widget.Toast;


public class MainActivity extends Activity {
	private RadioButton radioboy,radiogirl;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		//初始化
		radioboy = (RadioButton) findViewById(R.id.radio_boy);
		radiogirl = (RadioButton) findViewById(R.id.radio_girl);
		//radioboy设置监听
		radioboy.setOnCheckedChangeListener(new OnCheckedChangeListener() {
			
			@Override
			public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
				if(isChecked){
					Toast.makeText(MainActivity.this, "男",Toast.LENGTH_SHORT).show();
				}
			}
		});
		//radiogirl设置监听
		radiogirl.setOnCheckedChangeListener(new OnCheckedChangeListener() {
			
			@Override
			public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
				Toast.makeText(MainActivity.this, "女",Toast.LENGTH_SHORT).show();
			}
		});
	}
}

(4)效果截图


  2. 通过xml绘制+selector自定义
(1) radio_checked_shape.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
  <item>
	<shape xmlns:android="http://schemas.android.com/apk/res/android" 
	    android:shape="oval">
	    
	    <!--设置圆环大小  -->
	    <size android:width="40dp" android:height="40dp"></size>
	    <!-- 边线颜色和宽度 -->
	    <stroke android:width="2dp" android:color="#2E8B57"></stroke>
	</shape>      
  </item> 
  <item android:top="5dp" android:bottom="5dp" android:left="5dp" android:right="5dp">
	<shape xmlns:android="http://schemas.android.com/apk/res/android" 
	    android:shape="oval" >
	    
	    <!--设置圆环大小  -->
	    <size android:width="30dp" android:height="30dp"></size>
	    <!-- 边线颜色和宽度 -->
	    <stroke android:width="2dp" android:color="#00CD66"></stroke>
	    <!-- 填充 -->
	    <solid android:color="#00CD66"></solid>
	</shape>        
  </item>     
</layer-list>

(2) radio_unchecked_shape.xml  
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="oval">
    <!--设置圆环大小  -->
    <size android:width="40dp" android:height="40dp"></size>
    <!-- 边线颜色和宽度 -->
    <stroke android:width="2dp" android:color="#2E8B57"></stroke>
</shape>

(3) radio_selector_shape.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <!-- 选中状态 -->
    <item android:drawable="@drawable/radio_checked_shape" android:state_checked="true"></item>
    <!-- 未选中状态 -->
	<item android:drawable="@drawable/radio_unchecked_shape" android:state_checked="false"></item>
</selector>

(4) 主布局xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/rl"
    tools:context="com.andy.androiduiradiobutton.MainActivity" >


    <RadioGroup 
        android:id="@+id/mRadioGroup"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        >
        <RadioButton 
            android:id="@+id/radio_boy"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:drawableRight="@drawable/radio_selector_shape"
            android:drawablePadding="10dp"
            android:button="@null"  
            android:text="@string/boy"
            />
        
 
        <RadioButton 
            android:id="@+id/radio_girl"
            android:button="@null"  
            android:drawableRight="@drawable/radio_selector_shape"
            android:drawablePadding="10dp"		     
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/girl"
            />
    </RadioGroup>


</LinearLayout>

(5) Java实现代码
package com.andy.androiduiradiobutton;


import android.app.Activity;
import android.os.Bundle;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.RadioButton;
import android.widget.Toast;


public class MainActivity extends Activity {
	private RadioButton radioboy,radiogirl;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		//初始化
		radioboy = (RadioButton) findViewById(R.id.radio_boy);
		radiogirl = (RadioButton) findViewById(R.id.radio_girl);
		//radioboy设置监听
		radioboy.setOnCheckedChangeListener(new OnCheckedChangeListener() {
			
			@Override
			public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
				if(isChecked){
					Toast.makeText(MainActivity.this, "男",Toast.LENGTH_SHORT).show();
				}
			}
		});
		//radiogirl设置监听
		radiogirl.setOnCheckedChangeListener(new OnCheckedChangeListener() {
			
			@Override
			public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
				Toast.makeText(MainActivity.this, "女",Toast.LENGTH_SHORT).show();
			}
		});
	}
}

6.效果截图

 

  3. 通过改变@android:style/Widget.CompoundButton.RadioButton系统内置syle风格自定义


(1) RadioButton的样式就采用2中的xml radio_checked_shape.xml,radio_unchecked_shape.xml,radio_selector_shape.xml与2一致


(2)styles.xml
<resources xmlns:android="http://schemas.android.com/apk/res/android">


    <!--
        Base application theme, dependent on API level. This theme is replaced
        by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
    -->
    <style name="AppBaseTheme" parent="android:Theme.Light">
        <!--
            Theme customizations available in newer API levels can go in
            res/values-vXX/styles.xml, while customizations related to
            backward-compatibility can go here.
        -->
    </style>


    <!-- Application theme. -->
    <style name="AppTheme" parent="AppBaseTheme">
        <!-- All customizations that are NOT specific to a particular API-level can go here. -->
    </style>
    
    <!-- 自定义的RadioButton风格 -->
    <style name="myradiostyle" parent="@android:style/Widget.CompoundButton.RadioButton">
        <item name="android:button">@drawable/radio_selector_shape</item>
    </style>


</resources>
 
(3) 主布局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/rl"
    tools:context="com.andy.androiduiradiobutton.MainActivity" >


    <RadioGroup 
        android:id="@+id/mRadioGroup"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        >
        <RadioButton 
            android:id="@+id/radio_boy"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            style="@style/myradiostyle"
            android:drawablePadding="10dp"
            android:text="@string/boy"
            />
 
        <RadioButton 
            android:id="@+id/radio_girl" 
			style="@style/myradiostyle"
            android:drawablePadding="10dp"		     
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/girl"
            />
    </RadioGroup>


</LinearLayout>

 (4)Java实现代码(与2一致)
 
 (5)效果截图
 
 
浅谈安卓UI设计 用户界面在程序开发中十分重要,一个好的用户界面设计需要考虑到用户使用体验、是否美观方便等。 在界面设计的过程中,需要考虑如何制作出UI界面,怎么样控制UI界面两大块。 这里先放上之前我们UI作业的截图: ![1](https://img-blog.csdn.net/20180616235118904?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dl... 阅读详情

相关推荐

Android UI控件详解-RadioGroup和RadioButton(单选框)

package com.bdqn.radiobutton; import android.os.Bundle; import android.app.Activity; import android.widget.RadioGroup; import android.widget.RadioGroup.OnCheckedChangeListener; import android.widget.

流川枫 2162

Android入门第11天-AndroidRadioButton的使用

AndroidRadioButton是如何使用的?以及它有什么注意事项?此篇以一个例子详尽解说。

打造全国最全的AI Agent开发知识领域的博客 1708

Android -- UI 开发】RadioButton/RadioGroup/CheckBox 的基本使用

RadioButton 和 CheckBox 用于在界面上显示选择框,它的用法也非常简单。

Kevin Learn Android 3668

AndroidStudio安卓原生开发_UI控件_ImageView_CheckBox_RadioButton---Android原生开发工作笔记98

scaleType的详细: 各个效果 可以把外面的linerlayout删除掉也是可以的,因为本身radioGroup已经继承了linerlayout了 ...

添柴程序猿的专栏 628

AndroidRadioButton (单选按钮)& Checkbox (复选框)

虽然5.0后的RadioButton和Checkbox都比旧版本稍微好看了点,但是对于我们来说 可能还是不喜欢或者需求,需要自己点击效果!实现起来很简单,先编写一个自定义 的selctor资源,设置选中与没选中时的切换图片~!实现效果图如下:PS:这里素材的原因,有点小...

leyang0910的博客 4754

Android开发——RadioButton控件

一,简介 RadioButton(单选按钮) 如题单选按钮,就是只能够选中一个,所以我们需要把RadioButton放到RadioGroup按钮组中,从而实现 单选功能!先熟悉下如何使用RadioButton,一个简单的性别选择的例子: 另外我们可以为外层RadioGroup设置orientation属性然后设置RadioButton的排列方式,是竖直还是水平 效果图: 和 CheckBox(复选框) 区别 如题复选框,即可以同时选中多个选项,至于获得选中的值,同样有两种方式...

m0_38012497的博客 7130

Android从零单排系列十】《Android视图控件——RadioButton

小伙伴们,在上文中我们介绍了Android视图控件ImageView控件,本文我们继续盘点,介绍一下视图控件的第五个控件——RadioButton。在 Android 应用开发中,RadioButton是单选按钮,允许用户在一个组中选择一个选项。同一组中的单选按钮有互斥效果。(1)button属性:主要用于图标大小要求不高,间隔要求也不高的场合。(2)background属性:主要用于能够以较大空间显示图标的场合。(3)drawableLeft属性:主要用于对图标与文字之间的间隔有要求的场合。...

商务合作|问题讨论|交流学习 请联系作者微信,加微信请务必注明来意,博客主页有联系方式 3570

Android用户界面 UI组件--TextView及其子类() DigitalClock,AnalogClock,RadioButton,CheckBox,ToggleButton汇总

DigitalClock和AnalogClock两个时钟类 可以为DigitalClock设置背景图片,自定义时针,秒针,分针的样式 例子: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layou

枫轻舞云飘散 1710

Android 开发】:UI控件之单选按钮 RadioButton 的使用方法

这一讲我们来学习一下 UI控件中 RadioButton 的使用方法 选项按钮可以用于多选一的应用中,如果想在选中的某一个选项按钮后,其它的选项按钮都被设置为未选中的状态,需要将添加到标签中。 主要代码: button.setOnClickListener(new View.OnClickListener() { @Override

AHuier_Techblog :如果我不在写代码,你就 @me 4501

安卓UI控件——RadioButton

RadioButton 单选按钮,选中和未选中两种状态经常与RadioGroup配合使用,实现互斥关系。 系统默认的RadioButton都是图标在左侧,文字在右侧。 <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="请选择年级" android:textSize="20sp" />

web工程师——小发发 763

Android RadioButton状态选择实现与UI定制详解

经过这一番深度剖析,相信你已经不再是那个只会拖控件的新手了 😎。回顾一下重点:RadioGroup是灵魂,没有它就没有互斥;动态添加必须设 ID,不然拿不到选中项;状态监听只在变更时触发,初始不回调;自定义样式靠 Selector,告别默认丑圆圈;大量数据用 RecyclerView,别硬塞进 RadioGroup;持久化要用 SharedPreferences 或 ViewModel,提升用户体验;命名规范 + 资源分类。

weixin_42143092的博客 1137

基础UI控件2:ImageView、RadioButton、CheckBox(安卓开发学习笔记————11)

1.ImageView:(1)imageview常用属性1: (2)imageview常用属性2: (3)imageview常用属性2的效果图: 2.RadioButton: 3.CheckBox:

qq_47004770的博客 1546

Android UI 组件系列(五):CheckBox、RadioButton 与 Switch 控件详解

Android开发中常用的选择控件解析 本文介绍了Android开发中三种核心选择控件的使用方法和适用场景:1) CheckBox多选按钮适用于兴趣爱好等可多选场景;2) RadioButtonRadioGroup组合实现单选功能;3) Switch和ToggleButton用于开关设置。文章详细展示了各控件的XML布局示例和Kotlin代码实现,包括获取选中状态、设置监听事件等关键操作。其中特别强调Switch控件是现代Android应用的首选开关控件,而ToggleButton则建议谨慎使用。这些控件

weixin_39339407的博客 1587

android radiobutton_第七十回:AndroidUI控件之RadioButton

各位看官们,大家好,上一回中咱们说的是AndroidUI控件之Button可变性的例子,这一回咱们说的例子是UI控件之RadioButton。闲话休提,言归正转。让我们一起Talk Android吧!看官们,RadioButton也叫单选按钮。它通常用来给用户提供单选操作,程序依据用户选择的操作来做不同的事情。接下来我们通过代码结合文本的方式来演示使用使用这种组件。 1.在布局中添加Rad...

weixin_39882948的博客 148

Android笔记08】Android基本的UI控件(ImageButtonRadioButton、CheckBox、Switch)

目录一、Android基本控件1.1、ImageButton1.2、RadioButton(1)单选框案例(2)获取选中的单选框(2)单选框设置选中1.3、CheckBox(1)多选框案例(2)获取选中的多选框1.4、Switch(1)switch案例(2)获取switch状态ImageButton表示的图片按钮控件,它主要用于显示图像的按钮,ImageButton继承自ImageView控件,而不是Button按钮控件。ImageButton控件上的图像是可以按照比例缩放的,并且可以设置图像的前景、背景两

✅ Java 开发工程师 753

Android UI开发之RadioButton

package com.android.liu.ui; import android.app.Activity;import android.os.Bundle;import android.widget.RadioButton;import android.widget.RadioGroup;import android.widget.Toast; import com.android.li

移动开发砖家-扫地僧 278

Android高级UI ImageView ImageButton RadioButton CheckBox ProgressBar属性和用法总结

高级UI ImageView  ImageButton  RadioButton  CheckBox  ProgressBar   1.ImageView 图片组件 src 指定要加载的图片 缩放问题 1.按着图片原始比例(不失真) 2.不按着比例(失真) ScaleType 1.fitXY   强制让图片缩放以填充整个imageview 2.fitCenter  按着比例缩放以

程序员之路 1761

Android_UI开发总结(一):RadioButtonRadioGroup使用

关于RadioButtonRadioGroup的API详解&amp;gt; https://www.cnblogs.com/Im-Victor/p/6238437.html 下面记录在使用RadioButtonRadioGroup中遇到的三点问题: 1. RadioButton中如何保持文字和选择图标之间合理的间距问题。 比如上图中,要确保文字乌拉圭和选项框之间留有一定的间隔,这样UI上...

技术总结之路~ 3万+
上一篇: Android UI(ToggleButton)详解
下一篇: Android UI(CheckBox)详解
边城月
博客等级 码龄11年 128粉丝 120原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值