Android开发学习笔记整理(7)-ScrolIView、Intent和Spinner

ScrolIView和HorizontalScrolIView【滚动视图】

  • ScrollView(垂直方向)
  • HorizontalScrolIView(水平方向)

搭建个人用户中心

Intent

  • Intent用于处理各组件之间的通信

主要组成部分:

  • 标明通信请求从哪里来、到哪里去、怎么走
  • 发起方携带数据内容,接收方解析数据包
  • 发起方接收接收方的返回结果

常见属性

属性方法说明
ComponentsetCompoent组件,用于指定Intent的来源与目的
ActionsetAction动作,用于指定Intent的操作行为
DatasetDataUri,用于指定动作要操纵的数据路径
ExtrasputExtra扩展信息,用于装载参数信息

显式的使用Intent

  • 在构造函数中指定跳转
  • 使用setClass指定跳转
  • 使用setComponent指定跳转

隐式的使用Intent

  • 不指定明确的指定要跳转的类名
  • 举例:打电话

向下一个Activity传递参数

  • 添加参数
  • 解析参数
  • Bundle

向上一个Activity返回参数

  • 发起方调用startActivityForResult (intent, requestCode)
  • 发起方重写onActivityResult (requestCode, resultCode, data)
  • 接收返回数据

Spinner(下拉框)

  • 数组适配器ArrayAdapter的实现
  • 简单适配器SimpleAdapter的实现
  • 监听事件
  • 下拉框和弹框实现

代码部分:

part1:

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:orientation="vertical">

    <Button
        android:id="@+id/scrollViewDemo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="演示ScrollView"
        android:textAllCaps="false"/>

    <Button
        android:id="@+id/userCenterDemo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="演示用户中心界面跳转"/>

    <Button
        android:id="@+id/callButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="演示打电话"/>

    <Button
        android:id="@+id/paramButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="演示传递和接收参数"/>

    <Button
        android:id="@+id/paramBackButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="演示参数回传"></Button>

    <Button
        android:id="@+id/spinnerButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="演示下拉框"/>

</LinearLayout>
效果图:

在这里插入图片描述

activity_scroll_view.xml

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

    <!--
        ScrollView:垂直方向滚动
        注意点:
            1.高度一定是自适应内容,宽度不做要求
            2.只有一个根视图
    -->
    <ScrollView
        android:id="@+id/scrollView"
        android:layout_width="200dp"
        android:layout_height="wrap_content">

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

            <View
                android:layout_width="match_parent"
                android:layout_height="500dp"
                android:background="#000000"/>
            <View
                android:layout_width="match_parent"
                android:layout_height="500dp"
                android:background="#D51919"/>

        </LinearLayout>
    </ScrollView>

    <!--
        HorizontalScrollView:水平方向上的滚动视图
        注意点:
            1.宽度要自适应内容,高度没有要求
            2.只有一个根视图
    -->
    <HorizontalScrollView
        android:layout_width="wrap_content"
        android:layout_height="200dp"
        android:layout_toRightOf="@+id/scrollView">

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent">

            <View
                android:layout_width="800dp"
                android:layout_height="match_parent"
                android:background="#23DA2A"/>

        </LinearLayout>
    </HorizontalScrollView>

</RelativeLayout>
效果图:

在这里插入图片描述

ScrollViewActivity.java

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class ScrollViewActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_scroll_view);
    }

}

part2:

activity_user_center.xml

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

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

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

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="100dp">

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:text="头像"
                    android:layout_gravity="center_vertical"
                    android:paddingLeft="15dp"
                    android:textSize="18sp"
                    android:textColor="#000000"/>

                <ImageView
                    android:layout_width="60dp"
                    android:layout_height="60dp"
                    android:layout_gravity="center_vertical"
                    android:src="@drawable/icon"
                    android:layout_marginRight="10dp"/>

                <ImageView
                    android:layout_width="20dp"
                    android:layout_height="match_parent"
                    android:src="@drawable/point"
                    android:layout_marginRight="15dp"/>

            </LinearLayout>
            <View
                android:layout_width="match_parent"
                android:layout_height="1dp"
                android:background="#E8E5E5"
                android:layout_marginRight="15dp"
                android:layout_marginLeft="15dp"/>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="50dp">

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:text="个人主页背景"
                    android:textSize="18sp"
                    android:textColor="#000000"
                    android:gravity="center_vertical"
                    android:paddingLeft="15dp"/>

                <ImageView
                    android:layout_width="20dp"
                    android:layout_height="match_parent"
                    android:src="@drawable/point"
                    android:layout_marginRight="15dp"/>
            </LinearLayout>
            <View
                android:layout_width="match_parent"
                android:layout_height="1dp"
                android:background="#E8E5E5"
                android:layout_marginRight="15dp"
                android:layout_marginLeft="15dp"/>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="50dp">

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:text="昵称"
                    android:textSize="18sp"
                    android:textColor="#000000"
                    android:gravity="center_vertical"
                    android:paddingLeft="15dp"/>

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:text="今晚打老虎"
                    android:textSize="18sp"
                    android:gravity="center_vertical|right"
                    android:layout_marginRight="10dp"/>

                <ImageView
                    android:layout_width="20dp"
                    android:layout_height="match_parent"
                    android:src="@drawable/point"
                    android:layout_marginRight="15dp"/>

            </LinearLayout>
            <View
                android:layout_width="match_parent"
                android:layout_height="1dp"
                android:background="#E8E5E5"
                android:layout_marginRight="15dp"
                android:layout_marginLeft="15dp"/>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="50dp">

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:text="性别"
                    android:textSize="18sp"
                    android:textColor="#000000"
                    android:paddingLeft="15dp"
                    android:gravity="center_vertical"/>

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:text=""
                    android:textSize="18sp"
                    android:gravity="center_vertical|right"
                    android:layout_marginRight="10dp"/>

                <ImageView
                    android:layout_width="20dp"
                    android:layout_height="match_parent"
                    android:src="@drawable/point"
                    android:layout_marginRight="15dp"/>

            </LinearLayout>
            <View
                android:layout_width="match_parent"
                android:layout_height="1dp"
                android:background="#E8E5E5"
                android:layout_marginRight="15dp"
                android:layout_marginLeft="15dp"/>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="50dp">

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:text="个人介绍"
                    android:textSize="18sp"
                    android:textColor="#000000"
                    android:paddingLeft="15dp"
                    android:gravity="center_vertical"/>

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:text="身高八斗、长相帅气、聪明机智..."
                    android:textSize="18sp"
                    android:gravity="center_vertical|right"
                    android:layout_marginRight="10dp"/>

                <ImageView
                    android:layout_width="20dp"
                    android:layout_height="match_parent"
                    android:src="@drawable/point"
                    android:layout_marginRight="15dp"/>

            </LinearLayout>
            <View
                android:layout_width="match_parent"
                android:layout_height="10dp"
                android:background="#E8E5E5"/>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="50dp">

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:text="生日"
                    android:textSize="18sp"
                    android:textColor="#000000"
                    android:paddingLeft="15dp"
                    android:gravity="center_vertical"/>

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:text="2002-05-26"
                    android:textSize="18sp"
                    android:gravity="center_vertical|right"
                    android:layout_marginRight="10dp"/>

                <ImageView
                    android:layout_width="20dp"
                    android:layout_height="match_parent"
                    android:src="@drawable/point"
                    android:layout_marginRight="15dp"/>

            </LinearLayout>
            <View
                android:layout_width="match_parent"
                android:layout_height="1dp"
                android:background="#E8E5E5"
                android:layout_marginRight="15dp"
                android:layout_marginLeft="15dp"/>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="50dp">

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:text="常居地"
                    android:textSize="18sp"
                    android:textColor="#000000"
                    android:paddingLeft="15dp"
                    android:gravity="center_vertical"/>

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:text="滨州"
                    android:textSize="18sp"
                    android:gravity="center_vertical|right"
                    android:layout_marginRight="10dp"/>

                <ImageView
                    android:layout_width="20dp"
                    android:layout_height="match_parent"
                    android:src="@drawable/point"
                    android:layout_marginRight="15dp"/>

            </LinearLayout>
            <View
                android:layout_width="match_parent"
                android:layout_height="1dp"
                android:background="#E8E5E5"
                android:layout_marginRight="15dp"
                android:layout_marginLeft="15dp"/>

        </LinearLayout>

    </ScrollView>

</RelativeLayout>
效果图:

在这里插入图片描述

UserCenterActivity.java

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class UserCenterActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_user_center);
    }

}

icon.png

在这里插入图片描述

point.png

在这里插入图片描述

part3:

效果图:

在这里插入图片描述

part4:

activity_param_send.xml

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

    <TextView
        android:id="@+id/userInfo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>
效果图:

在这里插入图片描述

ParamSendActivity.java

import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
public class ParamSendActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_param_send);

        //解析参数
        Intent intent = getIntent();
//        Bundle bundle = intent.getBundleExtra("userInfo");
        Bundle bundle = intent.getExtras();
        String username = bundle.getString("username", "没有人");
        int age = bundle.getInt("age", 19);

//        String username = intent.getStringExtra("username");
//        int age = intent.getIntExtra("age",18);

        //塞值给TextView
        TextView textView = findViewById(R.id.userInfo);
        textView.setText("用户是:" + age + "岁的" + username);
    }

}

效果图:

在这里插入图片描述

part5:

activity_param_back.xml

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

    <TextView
        android:id="@+id/paramTextView"
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:text="演示返回参数"
        android:textSize="30sp"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="100dp"/>

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:text="按钮1"
        android:textSize="25sp"
        android:layout_below="@id/paramTextView"
        android:layout_marginTop="30dp"
        android:layout_marginLeft="30dp"/>

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:text="按钮2"
        android:textSize="25sp"
        android:layout_below="@id/paramTextView"
        android:layout_marginTop="30dp"
        android:layout_alignParentRight="true"
        android:layout_marginRight="30dp"/>

</RelativeLayout>
效果图:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

ParamBackActivity.java

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
public class ParamBackActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_param_back);

        //按钮1点击事件
        findViewById(R.id.button1).setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent intent = new Intent(ParamBackActivity.this, NicknameActivity.class);
                startActivityForResult(intent, 1); //requestCode:取值范围0-60000多
            }

        });

        //按钮2点击事件
        findViewById(R.id.button2).setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent intent = new Intent(ParamBackActivity.this, NicknameActivity.class);
                startActivityForResult(intent, 2);
            }

        });
    }

    /**
     * 处理返回的参数
     * @param requestCode 请求的code
     * @param resultCode 结果的code
     * @param data 返回的参数
     */
    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        String nickname = data.getStringExtra("nickname");

        if (requestCode == 1) {
            nickname = "按钮一" + nickname;
        } else {
            nickname = "按钮二" + nickname;
        }

        //获取返回结果,并填充TextView
        TextView textView = findViewById(R.id.paramTextView);
        textView.setText(nickname);
    }

}

activity_nickname.xml

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

    <EditText
        android:id="@+id/nicknameEditText"
        android:layout_width="300dp"
        android:layout_height="50dp"
        android:hint="请输入昵称"
        android:inputType="text"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="200dp"/>

    <Button
        android:id="@+id/confirmButton"
        android:layout_width="0dp"
        android:layout_height="50dp"
        android:layout_alignLeft="@id/nicknameEditText"
        android:layout_alignRight="@id/nicknameEditText"
        android:layout_below="@id/nicknameEditText"
        android:layout_marginTop="30dp"
        android:text="确定"
        android:textSize="25sp"/>

</RelativeLayout>
效果图:

在这里插入图片描述
在这里插入图片描述

NicknameActivity.java

import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
public class NicknameActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_nickname);

        findViewById(R.id.confirmButton).setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                //获取EditText的内容并返回数据
                EditText editText = findViewById(R.id.nicknameEditText);
                String nickname = editText.getText().toString();

                //返回数据
                Intent intent = new Intent();
                intent.putExtra("nickname", nickname);
                setResult(0, intent);

                //关闭界面
                finish();
            }

        });
    }

}

效果图:

在这里插入图片描述

按钮1:

在这里插入图片描述
在这里插入图片描述

按钮2:

在这里插入图片描述
在这里插入图片描述

part6:

MainActivity.java

import androidx.appcompat.app.AppCompatActivity;
import android.content.ComponentName;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //跳转ScrollView演示界面
        findViewById(R.id.scrollViewDemo).setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, ScrollViewActivity.class);
                startActivity(intent);
            }

        });

        //跳转用户中心界面
        findViewById(R.id.userCenterDemo).setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                //1.构造函数的时候指定跳转
//                Intent intent = new Intent(MainActivity.this, UserCenterActivity.class);
                //2.setClass的形式进行跳转
//                Intent intent = new Intent();
//                intent.setClass(MainActivity.this, UserCenterActivity.class);
                //3.setComponent的形式进行跳转
                Intent intent = new Intent();
                ComponentName componentName = new ComponentName(MainActivity.this, UserCenterActivity.class);
                intent.setComponent(componentName);
                startActivity(intent);
            }

        });

        //演示Intent的隐式使用
        findViewById(R.id.callButton).setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                //实现打电话
                Intent intent = new Intent();
                intent.setAction(Intent.ACTION_DIAL); //设置打电话:CALL:直接打电话;DIAL:准备打电话
                Uri uri = Uri.parse("tel:15555555555555"); //格式:tel:+phone number(注:中间使用英文下的冒号!!!)
                intent.setData(uri);
                startActivity(intent);
            }

        });

        //演示传递参数和接收参数
        findViewById(R.id.paramButton).setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, ParamSendActivity.class);
                //使用Extras
//                intent.putExtra("username", "张三");
//                intent.putExtra("age", 18);

                //使用Bundle
                Bundle bundle = new Bundle();
                bundle.putString("username", "李四");
                bundle.putInt("age", 18);
//                intent.putExtra("userInfo", bundle);
                intent.putExtras(bundle);
                startActivity(intent);
            }

        });

        //演示参数回传
        findViewById(R.id.paramBackButton).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, ParamBackActivity.class);
                startActivity(intent);
            }
        });

        //演示下拉选
        findViewById(R.id.spinnerButton).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, SpinnerActivity.class);
                startActivity(intent);
            }
        });
    }

}

activity_spinner.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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="50dp"
        android:layout_margin="40dp">

        <TextView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:text="性别"
            android:textSize="25sp"
            android:gravity="center_vertical"/>

        <Spinner
            android:id="@+id/sexSpinner"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:spinnerMode="dialog"/>

    </LinearLayout>

</RelativeLayout>
效果图:

在这里插入图片描述
在这里插入图片描述

select_view.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:text=""
    android:textSize="25sp"
    android:textColor="#000000"/>
效果图:

在这里插入图片描述

drop_view.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:text=""
    android:textSize="25sp"
    android:textColor="#000000"
    android:gravity="center_horizontal"/>
效果图:

在这里插入图片描述

SpinnerActivity.java

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import java.util.ArrayList;
import java.util.List;
public class SpinnerActivity extends AppCompatActivity {

    private List<String> sexList = new ArrayList<>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_spinner);

        //初始化数据
        sexList.add("男");
        sexList.add("女");
        sexList.add("保密");

        //创建ArrayAdapter
        ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, R.layout.select_view, sexList);
        arrayAdapter.setDropDownViewResource(R.layout.drop_view);

        //初始化Spinner
        Spinner spinner = findViewById(R.id.sexSpinner);
        spinner.setAdapter(arrayAdapter); //设置适配器
        spinner.setPrompt("请选择性别"); //设置标题
        spinner.setSelection(0); //设置默认值
    }

}

效果图:

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值