YCCustomText 开源项目使用教程
1. 项目的目录结构及介绍
YCCustomText 项目的目录结构如下:
YCCustomText/
├── app/
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── com/
│ │ │ │ └── yangchong/
│ │ │ │ └── customtext/
│ │ │ │ ├── MainActivity.java
│ │ │ │ └── ...
│ │ │ └── res/
│ │ │ ├── layout/
│ │ │ ├── values/
│ │ │ └── ...
│ │ └── test/
│ └── build.gradle
├── library/
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── com/
│ │ │ │ └── yangchong/
│ │ │ │ └── customtext/
│ │ │ │ ├── CustomTextView.java
│ │ │ │ └── ...
│ │ │ └── res/
│ │ │ ├── layout/
│ │ │ ├── values/
│ │ │ └── ...
│ │ └── test/
│ └── build.gradle
├── settings.gradle
└── README.md
目录结构介绍
app/
: 应用模块,包含应用的主要代码和资源。src/main/java/com/yangchong/customtext/
: 应用的主要代码文件。src/main/res/
: 应用的资源文件,包括布局、字符串等。
library/
: 库模块,包含自定义文本视图的代码和资源。src/main/java/com/yangchong/customtext/
: 库的主要代码文件。src/main/res/
: 库的资源文件。
settings.gradle
: 项目配置文件,包含模块的配置信息。README.md
: 项目说明文档。
2. 项目的启动文件介绍
项目的启动文件是 app/src/main/java/com/yangchong/customtext/MainActivity.java
。
MainActivity.java
package com.yangchong.customtext;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
启动文件介绍
MainActivity
继承自AppCompatActivity
,是应用的主活动。onCreate
方法中设置了布局文件activity_main
。
3. 项目的配置文件介绍
项目的配置文件主要包括 app/build.gradle
和 library/build.gradle
。
app/build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 30
defaultConfig {
applicationId "com.yangchong.customtext"
minSdkVersion 16
targetSdkVersion 30
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation project(':library')
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.3.0'
}
library/build.gradle
apply plugin: 'com.android.library'
android {
compileSdkVersion 30
defaultConfig {
minSdkVersion 16
targetSdkVersion 30
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize