Android Textview Button 等基础组件学习

Android02之TextView和Button 上一次我们对常用的两种布局方式——线性布局和相对布局进行了详细的讲解,相信大家也对基础的知识有了大概的认知。这一次我们讲解最常用的两种组件TextView和Button。这一次讲解的内容会比上次的内容更多,并且是建立在上一次的基础之上。不清楚布局方式的可以查看我的上一篇博客,链接为https://blog.youkuaiyun.com/chenpeixing361/article/details/890289... 阅读详情

一 Textview

1 基本使用

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:orientation="vertical"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <TextView
        android:text = "@string/tv_one"
        android:textColor = "#FF000000"
        android:textSize="30sp"
        android:background = "#FFFFFFFF"
        android:shadowColor="@color/purple_200"
        android:shadowRadius="3.0"
        android:shadowDx="10.0"
        android:shadowDy="10.0"
        android:gravity = "center_vertical"
        android:id="@+id/tv_one" android:layout_width="200dp" android:layout_height="200dp"
        android:layout_gravity="center_vertical"
        />

</LinearLayout>

 

 

2  跑马灯效果

 

要实现跑马灯效果  文字一定要够长。

设置 重复次数   获取焦点

记得 放<requestFocus />标签,表示将当前控件设为焦点,然后跑马灯就起效果了

android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:focusable="true"
android:focusableInTouchMode="true"

    <TextView
        android:text = "@string/tv_one"
        android:textColor = "#FF000000"
        android:textSize="30sp"
        android:background = "#FFFFFFFF"
        android:shadowColor="@color/purple_200"
        android:shadowRadius="3.0"
        android:shadowDx="10.0"
        android:shadowDy="10.0"
        android:gravity = "center_vertical"
        android:id="@+id/tv_one"
        android:layout_width="200dp"
        android:layout_height="80dp"
        android:layout_gravity="center_vertical"
        android:singleLine="true"
        android:ellipsize="marquee"
        android:marqueeRepeatLimit="marquee_forever"
        android:focusable="true"
        android:focusableInTouchMode="true"
       >
        <requestFocus/>

    </TextView>

二  Button

1 使用

系统会对Button中所有的英文字母自动进行大写转换,可以配置属性禁用

设置按钮背景色无效的话 去themes.xml 文件修改style,加一个.Bridge

<style name="Theme.LeonardoDay1" parent="Theme.MaterialComponents.DayNight.DarkActionBar.Bridge">
    <Button
        android:id="@+id/btn"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:text="ClickMe"
        android:textAllCaps="false"
        android:background="@drawable/btn_selector"
        android:backgroundTint="@color/btn_color_selector"
        android:onClick="leoClick"
        >

    </Button>

 Button btn = findViewById(R.id.btn);
        btn.setText("ClickOK");

        // 点击事件
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                // 收到点击效果

                Log.e(TAG, "onClick: ");
            }
        });
        // 长按事件
        btn.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View view) {
                Log.e(TAG, "onLongClick: ");
                return false;
            }
        });

        // 触摸事件
        btn.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                Log.e(TAG, "onTouch: ");
                // 返回为True 的话 点击事件就会到此结束了
                return false;
            }
        });
 public void leoClick(View view) {
        Log.e(TAG, "leoClick " );

    }

三  EditText

获取输入的文本

String s =  et.getText().toString();

<EditText
        android:id="@+id/editText"
        android:layout_width="match_parent"
        android:layout_height="80dp"
        android:hint="please type something"
        android:textColorHint="#ffeeaaee"
        android:inputType="numberPassword"
        android:drawableLeft="@drawable/baseline_account_circle_24"
        android:drawableRight="@drawable/baseline_access_alarm_24"
        android:drawablePadding="20dp"
        android:paddingLeft="10dp"
        android:background="#ffffffff"
        />

 

四 ImageView


src 图片资源 

scaleType 缩放类型

maxHeight 最大高度 maxWidth 最大宽度


        <ImageView
            android:id="@+id/img_view"
            android:layout_width="300dp"
            android:layout_height="150dp"
            android:src="@drawable/baseline_account_circle_24"
            />

        imgView = findViewById(R.id.img_view);
        imgView.setImageResource(R.drawable.demo2);

        // 默认值 缩放后放置于中间
        imgView.setScaleType(ImageView.ScaleType.FIT_CENTER);
        // 最主要的目的是把图片显示在里面
        imgView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
        // 不改变 原图的大小 从左上角开始绘制 ,超过的部分做剪裁处理
        imgView.setScaleType(ImageView.ScaleType.MATRIX);

 

五 ProgressBar

用于界面上显示一个进度条,表示我们的程序在加载一些数据。

有两种形式 progress_horizontal 和 progress_circular 形式

显示与隐藏的可以通过visiable invisiable 和 gone  进行设定

所有的安卓控件都有这个属性 Visiablity 这个属性

 

        <ProgressBar
            android:id="@+id/pb"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:max="80"
            />

        <ProgressBar
            android:id="@+id/pb_h"
            style="?android:progressBarStyleHorizontal"
            android:layout_width="200dp"
            android:layout_height="50dp"
            android:max="100"/>

 if(pb.getVisibility() == View.GONE){
                    pb.setVisibility(View.VISIBLE);
                }else {
                    pb.setVisibility(View.GONE);
                }
                int progress = pb2.getProgress();
                progress += 10;
                pb2.setProgress(progress);

六 Notification

创建一个通知 并且发送·



    private NotificationManager manager;
    private Notification notification;



 // 1 创建通知管理
        manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

        //2 创建一个通知 channel
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){
            NotificationChannel channel = new NotificationChannel("leo","测试下",NotificationManager.IMPORTANCE_HIGH);
            manager.createNotificationChannel(channel);
        }
        // 3 创建一个通知
        // 3.1 创建一个跳转的意图 点击通知进行跳转
        Intent intent = new Intent(this, NotificationActivity.class);
        PendingIntent p_intent  = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
        // context
        notification = new NotificationCompat.Builder(this,"leo").setContentTitle("温馨提示")
                .setContentText("这是一个通知哦")
                .setSmallIcon(R.drawable.baseline_access_alarm_24)
                .setColor(Color.parseColor("#ff0000"))
                .setLargeIcon(BitmapFactory.decodeResource(getResources(),R.drawable.demo2))
                .setContentIntent(p_intent)
                .setAutoCancel(true)
                .build();

        Button sendBtn = findViewById(R.id.send_noti);
        sendBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                // 发送通知
                manager.notify(1,notification);
            }
        });

        Button cancelBtn = findViewById(R.id.cancel_noti);
        cancelBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                // 取消发送通知
                manager.cancel(1);
            }
        });

 

七 ToolBar

显示自己的ToolBar,在theme 中设置NoActionBar

<style name="Theme.LeonardoDay1" parent="Theme.MaterialComponents.DayNight.NoActionBar">

      <androidx.appcompat.widget.Toolbar
            android:id="@+id/tb"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="#ddaaee"

            app:navigationIcon="@drawable/baseline_access_alarm_24"
            app:titleTextColor="@color/btn_color_selector"
            >
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="你好"
                android:textSize="25sp"
                android:layout_gravity="center"
                android:gravity="center"
                />
        </androidx.appcompat.widget.Toolbar>
     Toolbar tb =  findViewById(R.id.tb);
        tb.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

            }
        });

 八  AlertDialog

在当前的界面演出一个对话框。

   // 弹出对话框
                // 1构造器
                AlertDialog.Builder  dialog = new AlertDialog.Builder(MainActivity.this);
                // 设置内容
                dialog.setTitle("This is My oscillator")
                        .setMessage("Something I know")
                        .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialogInterface, int i) {
                                // 确认的点击

                            }
                        })
                        .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialogInterface, int i) {

                            }
                        });

                // 显示
                dialog.show();

九 PopupWindow

弹出框如下

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

   <LinearLayout
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:orientation="vertical">

       <Button
           android:id="@+id/pop_btn_1"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text="加油"
           />
       <Button
           android:id="@+id/pop_btn_2"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text="奥利给"
           />


    </LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

    void showPopWindow(View view){
        // 在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById()。
        // 不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例化;而findViewById()是找xml布局文件下的具体widget控件(如Button、TextView等)。
        View popView = getLayoutInflater().inflate(R.layout.popup,null);

        // focusable 最后的一个参数 点击空白处可以退出
        PopupWindow popUpWindow = new PopupWindow(popView, ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT,true);
        // 后面两个参数为宽高
        //显示在view 的下方 后面两个参数为X Y 轴的偏移
        popUpWindow.showAsDropDown(view,90,20);

        // 按钮的监听
        Button btn1 =  popView.findViewById(R.id.pop_btn_1);
        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                // 消失
                popUpWindow.dismiss();
            }
        });
        Button btn2 =  popView.findViewById(R.id.pop_btn_2);
        btn2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                // 消失
                popUpWindow.dismiss();
            }
        });
    }

 

 

android 在TextView中显示EditText,通过Button按键,更改TextView的文字及变大 ** android 在TextView中显示EditText,通过Button按键,更改TextView的文字及变大 ** ** activity_main.xml ** <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.andro... 阅读详情

相关推荐

Android初级TextView、EditText、Button的基本使用

一、实验目的及要求 掌握Android开发环境的搭建(基于Android Studio与Genymotion); 掌握Android项目的建立; 掌握TextView、EditText、Button的基本使用。 二、实验设备(环境)及要求 Android Studio3.3.1 三、实验内容与步骤 1.新建一个Android项目,设置项目的基本属性 2.修改项目为线性布局,设置方向为垂直,子组件...

Observer_P的博客 1702

android基础 [超级详细android常用控件解析(TextView,EditText, ImageView,Button)]

超级详细android常用控件解析(TextView,EditText, ImageView,Button)

m0_63658317的博客 2877

全网首发:香橙派5MAX安装ubuntu20.04(换了官方桌面)及ros,运行LIVOX-mid360混合固态激光雷达,实际测试fastlio(只能说可以跑,还是有点吃力)

独家发布!!!香橙派5MAX安装ubuntu20.04(换了官方桌面)及ros,运行mid360混合固态激光雷达,测试fastlio(只能说可以跑,还是有点吃力),国货也算崛起了。

2402_82745259的博客 5996

Android开发-Android常用组件-TextView文本框

04 常用组件 4.1 TextView TextView (文本框),用于显示文本的一个控件。 文本的字体尺寸单位为sp : sp: scaled pixels(放大像素). 主要用于字体显示。文本常用属性: 属性名 作用 id 为TextView设置一个组件id,根据id,我们可以在Java代码中通过 findViewById()的方法获取到该...

LYly_B的博客 1351

【R】非参数秩和检验(Kruskal-Wallis H)与事后多重比较邓肯检验(Dunn‘s Test)及自动字母标记

非参数检验-Kruskal-Wallis H检验-多个独立样本秩和检验-事后两两比较-邓肯检验(Duncan's test)

captain_keating的博客 6534

SAP PS项目计划成本与预算设计:从概念到可用性控制详解

在项目管理中,成本计划与预算管控是决定项目成本能否受控的两个核心概念。成本计划反映“预计花费”,预算是“授权上限”,两者在WBS结构上既相互关联又彼此独立。SAP PS通过计划版本管理不同口径的估算,并借助可用性控制机制对采购申请、采购订单等业务操作进行事前拦截与提示,从而实现从“事后追认”到“事前控制”的转变。理解计划成本作为预算基线、预算作为控制阀门的原理,能够帮助实施顾问和项目管理者合理设计项目财务流程。在大型工程、研发或总包项目中,明确WBS层级、预算对象和检查规则,可有效避免超支风险。围绕SAP

weixin_33146151的博客 359

Android——基本控件之文本显示组件TextView(四)

TextView介绍

毛栗子201105的博客 460

第17章 后端开发最佳实践 —— OpenSpec + 智能体的工程化实战

后端开发有大量重复性的"样板代码"工作。我们可以创建自定义 Skill,让 AI 自动生成标准的三层架构代码。创建 Skill:后端 CRUD 生成器以 CodeBuddy 为例,在创建:其他工具用户请参考各自文档,了解如何创建自定义 Skills 或类似机制。skill.md## 描述根据实体定义自动生成标准的三层架构代码(Controller-Service-Repository)## 适用场景- 快速创建实体的 CRUD 接口- 保持代码结构一致性- 减少重复性编码工作## 使用方法。

快乐的修补匠的专栏 322

安卓开发基于android Studio平台——控件TextView的使用,控件Button的使用,StateListDrawable StateListDrawable

安卓开发基于android Studio平台——控件TextView的使用,控件Button的使用, 1.StateListDrawable StateListDrawable是Drawable资源的一种,可以根据不同的状态,设置不同的图片效果

WZY22502701的博客 2770

FPGA发展趋势:异构计算、AI加速、可重构计算

FPGA技术正朝着异构计算、AI加速和可重构计算三大方向发展。作为高效能计算平台,FPGA在异构架构中与CPU/GPU协同工作,发挥低延迟、高能效优势;在AI领域通过定制化架构实现边缘推理加速;其硬件可重构特性支持动态适应多样化计算需求。最新进展包括部分可重构技术、智能网卡和边缘AI应用。未来,FPGA将在自适应计算、量子接口和软件定义硬件等领域持续突破,成为异构计算架构的核心组件,推动硬件与软件的深度融合。性能对比显示FPGA在能效比(5-20TOPS/W)和灵活性方面具有显著优势。

2301_79143213的博客 968

PX4实战(十):PX4导航模块(Navigator)详解

本文将对 PX4 固件 v1.14.3 版本中的 Navigator(导航)模块进行详尽的技术剖析。作为飞行控制栈中的高层决策核心,Navigator 模块承担着将抽象的任务指令转化为具象的底层控制设定点的关键职责。本文基于对 src/modules/navigator 目录下源代码的深究研究与架构反推,详细阐述了该模块的文件组织结构、基于状态机的控制逻辑、uORB 异步通讯机制、核心任务模式(Mission)与返航模式(RTL)的实现细节,以及地理围栏(Geofence)与任务可行性检查(Feasibil

PX4-SLAM-PNC 668

Android开发之Compose基础学习-Button和ButtonText按钮的基本用法

compose按钮控件

xiayiye5的博客 1823

立体仓库WCS控制系统-AGV通信代码

string str = "任务下发,WCS->NT8000(q-Message),ikey:" + p.ikey.ToString() + "fromStation:" + p.fromStation.ToString() + "toStation:" + p.toStation.ToString();if (nt8000.Connect(_ServerAddr, _ServerPort)) QueueSpeech.AddQueue(string.Format("与NT8000重连成功"));

xdpcxq的专栏 2201

Android开发之基本组件的使用

最近学习了一点点Android的东西 然后决定花一些时间总结一下Android的基本组件 如果有新手朋友们 可以当做参考 如果大家熟悉unity中游戏开发的话 这些东西是特别特别好理解的 下面我再介绍的时候 会提及一些关于unity的东西 如果大家不同 忽略就行了 TextView 这个组件是最最基本的文字 从字面意思上看,TextView就是文本视图,只是用来显示文字的。 要想在Activity中显示TextView, 我们需要在相应的布局文件,也就是Activity对应的layout.xml文件去添加相

weixin_44302602的博客 566

58.Sobel边缘检测算子

注:在梯度运算中,很可能会出现负的灰度值,我们不能再采用uint8类型作为像素的数据类型,而是采用了CV_16S或者CV_32F这种有负数范围的类型,运算结果里的负数也不能不处理,否则在显示的时候就会被截断为0,这样就会丢失边界信息。如下图所示,对中心像素Z5求取多个方向的灰度差分,对于Z5的8邻域,分为4个方向,即对角线和水平垂直4个方向对:(z1, z9) ,(z2, z8), (z3, z7), (z6, z4) 给定邻域方向梯度矢量g的幅度为:|g| = <像素灰度差分>/<相邻像素的距离>。

twnkie的博客 4884

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

2014年9月总结

      在九月份,我们工作室学习了Android UI界面,在十月份后就不在学UI了。一个阶段结束了,要好好总结一下!    今年国庆节,我将第一次非寒暑假回家,主要是因为自己暑假来的早了点,有点想家 就回家看看吧。    回顾正题,ui界面大概学了一些基础的什么Button,TextView,EditText,ImagView,ImageButton,Spinner高级一点就有list...

黑夜骑士 154

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Android-TextView及其子类(TextView、EditText、Button)

TextView及其子类TextView直接继承自View,它还是EditText和Button的父类。 TextView及其子类的继承关系图,其子类包括CheckedTextView,Button,TextClok,AutoCompleteTextViewdeng

Duan的博客 3645

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Android TextView和Button的使用方法

TextView(标签): 1.标签用于显示信息,不能被用户手动修改 2.在Android中,TextViwe为控件标签 3.XML中的属性设置 在xml布局文件中必须包含的两个属性: 1.layout_width(宽度) 2.layout_height(高度)  值: wrap_content 根据内容自动调整大小 match_parent 占满整个父容器 text:表示显示

Kasumi的博客 5704

安卓开发基础 —TextView、button和EditText

安卓开发基础 —TextView、button和EditText 布局里面有个button,所以我们要在外面声明这个button。 关闭当前的文件夹,重新创建一个工程,选择Java语言,(不使用kotlin) id:为TextView设置一个组件id,根据id,我们可以在Java代码中通过findViewById()的方法获取到该对象,然后进行相关属性的设置,又或者使用RelativeLayout时,参考组件用的也是id! layout_width:组件的宽度,一般写:wrap_conte

cs_loser的博客 1099

Android的控件以及属性(TextView,Button)

1:TextView   主要在界面上显示一段文字            android:id="@+id/textView"         android:layout_width="wrap_content"   宽度         android:layout_height="wrap_content"   高度         android:text="This is Te

奔跑的小田 4917

Android Button及TextView动态变换颜色

<br />做android应用程序,为了达到更好的用户交互效果,经常需要改变Button的背景颜色以及TextView的字体颜色来提示用户当前的菜单可操作的状态,对此android提供了一种定义一种selector的方法让程序员提前配置好背景和色值,具体的方法如下:<br />一.Button(ImageButton、ImageView包括一般的view、ViewGroup都可以同样操作):<br />1.首先在你的layout文件中为Button添加background属性,比如android:back

mawl2002的专栏 2万+

常用的Android Widget组件学习①--Button and TextView

今天一上午做了一个关于Button and TextView的学习!具体如下!这是我所建立的目录文件首先是设定布局:main.xml中android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent">android:text="This is a button" android:id="@+id/button" android:layout_width="wrap_conte

Hello_MissのHome 6117

Android开发中textview显示button点击次数

今天在程序中加入button计数功能,并能够用textview显示出来。原以为很简单,结果尝试了五六次,还是出错。上网搜,发现别人都说是很简单,但却很少有完整程序,尤其是我出错的那一点,一直没人指明。在此po出完整代码,同时说一下我走的弯路。 界面很简单,一个按钮一个文本框。 <RelativeLayout xmlns:android="http://schemas.android.com/a

whuzhang16的博客 5930

Android 简单控件(一)Button、RadioButton、TextView、EditText

写在前面 本篇主要介绍一些Android中常用的控件,例如Button、TextView等,这些控件都直接或间接的继承了android.view.View类。每个Android的界面中都包含了很多的控件,这些控件通过布局文件来约束排列位置,各自提供了不同的同用户交流的窗口。注:本文主要参考资料有:《移动操作系统原理与实践》关东升,Android开发者官网:https://developer.and...

qq_41241926的博客 3325

Android控件TextView和Button

目录TextView属性示例 阴影效果 做一个跑马灯效果 Button属性绑定事件match_parent 与父容器一样 wrap_content 根据内容自动调整大小数字+单位(一般使用dp)"#00000000"透明度+RGB值@color/color.xml中定义的颜色值bold 加粗italic 斜体normal 默认无样式"#FFFF0000"红色"图片路径"center 居中right 右对齐bottom 底部对齐注:在一般开发中会把文本内容以..

qq_56460466的博客 1462

Android学习——UI基础组件一

Android基础组件 1.Toast组件的使用 Toast显示文本内容` &amp;amp;amp;amp;amp;lt;Button android:id=&amp;amp;amp;amp;quot;@+id/button20&amp;amp;amp;amp;quot; android:layout_width=&amp;amp;amp;amp;quot;wrap_content&amp;amp;amp;amp;quot;

UUUUUltraman的博客 2254
上一篇: Flutter Flex(Row Column,Expanded, Stack) 组件
下一篇: Android 详解基本布局以及ListView和RecyclerView
Leonardo_Fibonacci
博客等级 码龄10年 110粉丝 247原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值