开源项目 Flipboard BottomSheet 使用教程
1. 项目的目录结构及介绍
Flipboard BottomSheet 项目的目录结构如下:
bottomsheet/
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── library
│ ├── build.gradle
│ ├── proguard-rules.pro
│ └── src
│ ├── main
│ │ ├── AndroidManifest.xml
│ │ ├── java
│ │ │ └── com
│ │ │ └── flipboard
│ │ │ └── bottomsheet
│ │ │ ├── BottomSheetLayout.java
│ │ │ ├── R.java
│ │ │ └── ViewTransformer.java
│ │ └── res
│ │ ├── drawable
│ │ ├── layout
│ │ ├── values
│ │ └── values-v11
│ └── test
│ └── java
│ └── com
│ └── flipboard
│ └── bottomsheet
│ └── BottomSheetLayoutTest.java
├── settings.gradle
└── sample
├── build.gradle
├── proguard-rules.pro
└── src
├── main
│ ├── AndroidManifest.xml
│ ├── java
│ │ └── com
│ │ └── flipboard
│ │ └── bottomsheet
│ │ └── sample
│ │ ├── MainActivity.java
│ │ └── SampleSheetView.java
│ └── res
│ ├── drawable
│ ├── layout
│ ├── menu
│ ├── values
│ └── values-v11
└── test
└── java
└── com
└── flipboard
└── bottomsheet
└── sample
└── MainActivityTest.java
目录结构介绍
gradle/wrapper/
: 包含 Gradle 包装器的文件,用于确保项目使用特定版本的 Gradle。library/
: 包含 BottomSheet 库的核心代码。src/main/java/com/flipboard/bottomsheet/
: 包含 BottomSheet 的主要实现类。src/main/res/
: 包含资源文件,如布局和值文件。src/test/java/com/flipboard/bottomsheet/
: 包含测试类。
sample/
: 包含一个示例应用程序,展示如何使用 BottomSheet 库。src/main/java/com/flipboard/bottomsheet/sample/
: 包含示例应用程序的主要活动和自定义视图。src/main/res/
: 包含示例应用程序的资源文件。src/test/java/com/flipboard/bottomsheet/sample/
: 包含示例应用程序的测试类。
2. 项目的启动文件介绍
启动文件
sample/src/main/java/com/flipboard/bottomsheet/sample/MainActivity.java
: 这是示例应用程序的主要活动文件,展示了如何集成和使用 BottomSheet 库。
主要代码
package com.flipboard.bottomsheet.sample;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Toast;
import com.flipboard.bottomsheet.BottomSheetLayout;
import com.flipboard.bottomsheet.commons.MenuSheetView;
public class MainActivity extends AppCompatActivity {
private BottomSheetLayout bottomSheetLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bottomSheetLayout = (BottomSheetLayout) findViewById(R.id.bottomsheet);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action