项目简介
AbnerLibrary是基于Android平台的开发库,目的是简化Android应用的开发流程。该库具备丰富功能与组件,涵盖基础依赖、网络访问、UI组件、手势解锁、百分比布局适配等,助力开发者快速构建功能丰富且高效的Android应用。
项目的主要特性和功能
基础依赖
- 提供
BaseAppCompatActivity
和BaseFragment
,简化Activity和Fragment的创建与使用。 - 提供
BaseAdapter
和UniversalAdapter
,便于RecyclerView和ListView的适配器实现。
网络访问
HttpUtils
提供简便网络请求方法,支持GET、POST、PUT和DELETE请求。- 提供使用Retrofit和OKHTTP上传头像的示例代码。
UI组件
AlertUtils
提供自定义Alert对话框,支持菊花加载和弹出框。- 提供欢迎页显示组件,支持轮播图和引导页。
- 提供自定义TabView组件,支持主页Tab设置。
- 提供轮播图展示组件,支持多种过渡效果。
- 提供沉浸式状态栏和导航栏设置,支持自定义颜色和透明度。
手势解锁
提供手势解锁组件,支持手势设置页、手势密码绘制页等。
百分比布局适配
提供基于百分比的布局适配,支持多种百分比属性设置。
其他工具类
- 提供注解工具类,支持控件注解和事件注解。
- 提供下拉刷新和上拉加载组件,支持多种刷新和加载样式。
安装使用步骤
1. 添加依赖
在项目的build.gradle
文件中添加以下依赖:
```gradle
repositories {
mavenCentral()
}
dependencies { classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2' // add plugin } ```
2. 初始化
在应用的Application
类中初始化AbnerLibrary:
java
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
AbnerApplication.init(this);
}
}
3. 使用基础依赖
在Activity中继承BaseAppCompatActivity
,在Fragment中继承BaseFragment
,使用提供的适配器基类BaseAdapter
和UniversalAdapter
。
4. 网络访问
使用HttpUtils
进行网络请求,例如:
```java
HttpUtils.getInstance().get("https://api.example.com/data", new HttpUtils.HttpCallback() {
@Override
public void onSuccess(String response) {
// 处理成功响应
}
@Override
public void onFailure(String error) {
// 处理失败响应
}
}); ```
5. 使用UI组件
在布局文件中使用提供的UI组件,例如:
xml
<com.abner.ming.abnerlibrary.tabview.TabView
android:id="@+id/tabview"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
在代码中设置TabView的子视图和Fragment管理器:
java
List<TabViewChild> tabViewChildList = new ArrayList<>();
TabViewChild tabViewChild01 = new TabViewChild(R.mipmap.ic_launcher, R.mipmap.ic_launcher, "首页", new HomeFragment());
tabViewChildList.add(tabViewChild01);
mTabView.setTabViewChild(tabViewChildList, getSupportFragmentManager());
6. 手势解锁
在代码中启动手势解锁Activity:
java
startActivity(new Intent(this, GestureMainActivity.class));
7. 百分比布局适配
在布局文件中使用百分比布局:
xml
<com.abner.ming.myappli.PercentRelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="hello"
android:textColor="#000"
app:layout_marginLeftPercent="10%"/>
</com.abner.ming.myappli.PercentRelativeLayout>
8. 其他工具类
使用注解工具类进行控件和事件的注解: ```java @ViewInject(R.id.btn_demo1) Button mButton;
@OnClick(R.id.btn_demo1)
public void onClickDemo(View v) {
// 处理点击事件
}
使用下拉刷新和上拉加载组件:
xml
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】