BottomSheet Image Picker 项目教程
1. 项目的目录结构及介绍
BottomSheet Image Picker 项目的目录结构如下:
bottomsheet-imagepicker/
├── app/
│ ├── build.gradle
│ ├── src/
│ │ ├── main/
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java/
│ │ │ └── res/
│ └── ...
├── gradle/
│ └── wrapper/
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── library/
│ ├── build.gradle
│ ├── src/
│ │ ├── main/
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java/
│ │ │ └── res/
│ └── ...
├── screens/
│ ├── build.gradle
│ ├── src/
│ │ ├── main/
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java/
│ │ │ └── res/
│ └── ...
├── .gitignore
├── .travis.yml
├── LICENSE
├── README.md
├── build.gradle
├── gradle.properties
├── gradlew
├── gradlew.bat
└── settings.gradle
目录结构介绍
app/
: 包含示例应用程序的代码和资源。gradle/
: 包含 Gradle 包装器的文件。library/
: 包含 BottomSheet Image Picker 库的核心代码和资源。screens/
: 包含示例应用程序的屏幕代码和资源。.gitignore
: Git 忽略文件。.travis.yml
: Travis CI 配置文件。LICENSE
: 项目许可证。README.md
: 项目自述文件。build.gradle
: 项目的根构建文件。gradle.properties
: Gradle 属性文件。gradlew
和gradlew.bat
: Gradle 包装器脚本。settings.gradle
: Gradle 设置文件。
2. 项目的启动文件介绍
项目的启动文件主要是 app/src/main/java/.../MainActivity.java
或 app/src/main/java/.../MainActivity.kt
,具体取决于项目使用的编程语言。这个文件是示例应用程序的主活动,负责初始化和显示 BottomSheet Image Picker。
MainActivity 文件介绍
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化 BottomSheet Image Picker
new BottomSheetImagePicker.Builder(getString(R.string.file_provider))
.cameraButton(ButtonType.Button)
.galleryButton(ButtonType.Button)
.singleSelectTitle(R.string.pick_single)
.peekHeight(R.dimen.peekHeight)
.columnSize(R.dimen.columnSize)
.requestTag("single")
.show(getSupportFragmentManager(), null);
}
}
3. 项目的配置文件介绍
build.gradle
项目的根目录下的 build.gradle
文件包含项目的全局构建配置,例如依赖仓库和插件:
buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.0.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.21"
}
}
allprojects {
repositories {
google()
mavenCentral()
maven { url 'https://jitpack.io' }
}
}
settings.gradle
settings.gradle
文件定义了项目中包含的模块:
include ':app', ':library', ':screens'
gradle.properties
gradle.properties
文件包含 Gradle 构建系统的属性配置,例如 JVM 参数和项目属性:
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
android.useAndroidX=true
android.enableJetifier=true