VectorCompatTextView 开源项目教程

VectorCompatTextView 开源项目教程

VectorCompatTextViewOne VectorCompatTextView suits for hundreds of CompoundDrawable style. 一个库,满足CompoundDrawable的百变风格。项目地址:https://gitcode.com/gh_mirrors/ve/VectorCompatTextView

1. 项目的目录结构及介绍

VectorCompatTextView 项目的目录结构如下:

VectorCompatTextView/
├── app/
│   ├── src/
│   │   └── main/
│   │       ├── java/
│   │       │   └── com/
│   │       │       └── xw/
│   │       │           └── sample/
│   │       │               └── vectorcompattextview/
│   │       │                   └── MainActivity.java
│   │       └── res/
│   │           ├── drawable/
│   │           ├── layout/
│   │           ├── mipmap/
│   │           └── values/
├── gradle/
├── vectorcompattextview/
└── settings.gradle

目录结构介绍

  • app/: 包含应用程序的主要代码和资源文件。
    • src/main/java/: 包含项目的Java源代码。
      • com/xw/sample/vectorcompattextview/: 包含项目的主要Java文件,如 MainActivity.java
    • src/main/res/: 包含项目的资源文件,如布局文件、图片资源等。
  • gradle/: 包含Gradle构建系统的配置文件。
  • vectorcompattextview/: 包含库的源代码和资源文件。
  • settings.gradle: 项目的Gradle设置文件,用于包含子项目。

2. 项目的启动文件介绍

项目的启动文件是 MainActivity.java,位于 app/src/main/java/com/xw/sample/vectorcompattextview/ 目录下。

MainActivity.java 文件介绍

package com.xw.sample.vectorcompattextview;

import android.os.Bundle;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.app.AppCompatDelegate;
import android.view.View;
import android.widget.RadioGroup;

import com.xw.repo.VectorCompatTextView;

public class MainActivity extends AppCompatActivity {
    static {
        AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
    }

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

        final VectorCompatTextView checkableTv1 = findViewById(R.id.checkable_text_view1);
        checkableTv1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                checkableTv1.toggle();
                checkableTv1.setText(checkableTv1.isChecked() ? "SELECTED TAB" : "UNSELECTED TAB");
            }
        });

        final VectorCompatTextView checkableTv2 = findViewById(R.id.checkable_text_view2);
        checkableTv2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                checkableTv2.toggle();
                checkableTv2.setText(checkableTv2.isChecked() ? "Night Mode" : "Day Mode");
            }
        });

        final VectorCompatTextView demoTv = findViewById(R.id.demo_tv);
        ((RadioGroup) findViewById(R.id.radio_group)).setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                // 处理RadioGroup的选中状态变化
            }
        });
    }
}

功能介绍

  • AppCompatDelegate.setCompatVectorFromResourcesEnabled(true): 启用矢量资源兼容性。
  • onCreate(Bundle savedInstanceState): 初始化活动,设置布局文件,并处理视图的点击事件。

3. 项目的配置文件介绍

项目的配置文件主要包括 build.gradlesettings.gradle

build.gradle 文件介绍

build.gradle 文件位于项目的根目录和 app 目录下。

根目录下的 build.gradle
// 根目录下的 build.gradle 文件内容
buildscript {
    repositories {
        google()
        jcenter()
    }
   

VectorCompatTextViewOne VectorCompatTextView suits for hundreds of CompoundDrawable style. 一个库,满足CompoundDrawable的百变风格。项目地址:https://gitcode.com/gh_mirrors/ve/VectorCompatTextView

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吕真想Harland

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值