Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

MarkRaoAndroid/EasyStateView

Repository files navigation

OSL

点击上方图片进入我的博客

EasyStateView

To get a Git project into your build:

Step 1. Add the JitPack repository to your build file Add it in your root build.gradle at the end of repositories:

allprojects {
	repositories {
		maven { url 'https://www.jitpack.io' }
	}
}

Step 2. Add the dependency

dependencies {
	implementation 'com.github.MarkRaoAndroid:EasyStateView: latest-release'
}

Image text

控件使用示例

 <com.rzj.view.EasyStateView
 android:id="@+id/state_view"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 app:esv_emptyView="@layout/state_empty"
 app:esv_errorDataView="@layout/state_data_error"
 app:esv_errorNetView="@layout/state_net_error"
 app:esv_loadingView="@layout/state_loading"
 app:esv_use_anim="true"
 app:esv_viewState="loading">
 <Button
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:text="内容" />
 </com.rzj.view.EasyStateView>

可以通过自定义属性来设置你的布局,中间放你的主题内容 View 还可以在代码里添加自定义的布局,这里控件内本身自定义了五种布局,通过 esv_viewState 来设置第一个显示在用户的 View
1,内容 View
2,加载 View
3,数据异常( 数据异常指原本应该是有数据,但是服务器返回了错误的、不符合格式的数据 ) View
4,网络异常 View
5,数据为空 View
也可以监听 View 状态的变化

public class MainActivity extends AppCompatActivity implements EasyStateView.StateViewListener {
 private com.rzj.view.EasyStateView mStateView;
 
 private static final int YFH = 1;
 
 private static final int DLRB = 2;
 
 private int mStateId;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 initViews();
 }
 private void initViews() {
 
 mStateView = findViewById(R.id.state_view);
 // 获取当前显示的 view 状态
 mStateId = mStateView.getCurrentState();
 // 代码动态添加 View , 注意 tag 值必须大于 0
 mStateView.addUserView(YFH, R.layout.state_yfh);
 
 View view = LayoutInflater.from(MainActivity.this).inflate(R.layout.state_dlrb, mStateView, false);
 
 mStateView.addUserView(DLRB, view);
 // 监听 StateView 状态变化
 mStateView.setStateChangedListener(this);
 }
 @Override
 public void onStateChanged(int state) {
 Toast.makeText(MainActivity.this, String.valueOf(state), Toast.LENGTH_LONG).show();
 }
}

文档地址:

Control description address:

https://www.jianshu.com/p/eaf71002e38f

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /