Skip to content

Commit

Permalink
v2.1.1: optimization showView #31 [ci skip]
Browse files Browse the repository at this point in the history
  • Loading branch information
nukc committed Aug 21, 2020
1 parent 2ca0fd4 commit f09f894
Show file tree
Hide file tree
Showing 9 changed files with 159 additions and 128 deletions.
2 changes: 1 addition & 1 deletion README-en.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ add the dependency to your build.gradle:

```groovy
// andoridx, kotlin version, recommend
implementation 'com.github.nukc.stateview:kotlin:2.1'
implementation 'com.github.nukc.stateview:kotlin:2.1.1'
// support library, java version
compile 'com.github.nukc.stateview:library:1.5.4'
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ StateView 一个轻量级的控件, 继承自 `View`, 吸收了 `ViewStub` 的

```groovy
// andoridx, kotlin version, recommend
implementation 'com.github.nukc.stateview:kotlin:2.1'
implementation 'com.github.nukc.stateview:kotlin:2.1.1'
// support library, java version
compile 'com.github.nukc.stateview:library:1.5.4'
Expand Down
91 changes: 47 additions & 44 deletions app/src/main/java/com/github/nukc/sample/BaseActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.Toast;

import androidx.annotation.LayoutRes;
import androidx.annotation.Nullable;
Expand All @@ -17,56 +18,58 @@
* @author Nukc.
*/

public abstract class BaseActivity extends AppCompatActivity{
public abstract class BaseActivity extends AppCompatActivity {

private StateView mStateView;
private StateView mStateView;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(setContentView());
mStateView = StateView.inject(injectTarget());
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(setContentView());
mStateView = StateView.inject(injectTarget());

mStateView.setOnRetryClickListener(new StateView.OnRetryClickListener() {
@Override
public void onRetryClick() {
//do something
}
});
}
mStateView.setOnRetryClickListener(new StateView.OnRetryClickListener() {
@Override
public void onRetryClick() {
//do something
Toast.makeText(BaseActivity.this, "onRetryClick", Toast.LENGTH_SHORT).show();
}
});
}

protected abstract @LayoutRes int setContentView();
protected abstract @LayoutRes
int setContentView();

protected abstract View injectTarget();
protected abstract View injectTarget();

protected void setAnimator(AnimatorProvider animator) {
if (mStateView != null) {
mStateView.setAnimatorProvider(animator);
}
}
protected void setAnimator(AnimatorProvider animator) {
if (mStateView != null) {
mStateView.setAnimatorProvider(animator);
}
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
new MenuInflater(this).inflate(R.menu.menu_inject, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
new MenuInflater(this).inflate(R.menu.menu_inject, menu);
return super.onCreateOptionsMenu(menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.show_empty:
mStateView.showEmpty();
break;
case R.id.show_retry:
mStateView.showRetry();
break;
case R.id.show_loading:
mStateView.showLoading();
break;
case R.id.show_content:
mStateView.showContent();
break;
}
return super.onOptionsItemSelected(item);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.show_empty:
mStateView.showEmpty();
break;
case R.id.show_retry:
mStateView.showRetry();
break;
case R.id.show_loading:
mStateView.showLoading();
break;
case R.id.show_content:
mStateView.showContent();
break;
}
return super.onOptionsItemSelected(item);
}
}
94 changes: 50 additions & 44 deletions app/src/main/java/com/github/nukc/sample/SetViewActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

Expand All @@ -14,53 +15,58 @@

public class SetViewActivity extends AppCompatActivity {

private StateView mStateView;
private StateView mStateView;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_inject);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_inject);

mStateView = StateView.inject(this);
mStateView.setAnimatorProvider(new SlideAnimatorProvider());
mStateView.setOnRetryClickListener(new StateView.OnRetryClickListener() {
@Override
public void onRetryClick() {
//do something
mStateView.showRetry();
}
});
mStateView = StateView.inject(this);
mStateView.setAnimatorProvider(new SlideAnimatorProvider());
mStateView.setOnRetryClickListener(new StateView.OnRetryClickListener() {
@Override
public void onRetryClick() {
//do something
mStateView.showContent();
Toast.makeText(SetViewActivity.this, "onRetryClick", Toast.LENGTH_SHORT).show();
}
});

View emptyView = View.inflate(this, R.layout.view_empty, null);
TextView tvMessage = emptyView.findViewById(R.id.tv_message);
if (tvMessage != null) {
tvMessage.setText("Run setEmptyView");
}
mStateView.setEmptyView(emptyView);
}
View emptyView = View.inflate(this, R.layout.view_empty, null);
TextView tvMessage = emptyView.findViewById(R.id.tv_message);
if (tvMessage != null) {
tvMessage.setText("Run setEmptyView");
}
mStateView.setEmptyView(emptyView);

@Override
public boolean onCreateOptionsMenu(Menu menu) {
new MenuInflater(this).inflate(R.menu.menu_inject, menu);
return super.onCreateOptionsMenu(menu);
}
// View retryView = View.inflate(this, R.layout.view_retry31, null);
// mStateView.setRetryView(retryView);
mStateView.setRetryResource(R.layout.view_retry31);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.show_empty:
mStateView.showEmpty();
break;
case R.id.show_retry:
mStateView.showRetry();
break;
case R.id.show_loading:
mStateView.showLoading();
break;
case R.id.show_content:
mStateView.showContent();
break;
}
return super.onOptionsItemSelected(item);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
new MenuInflater(this).inflate(R.menu.menu_inject, menu);
return super.onCreateOptionsMenu(menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.show_empty:
mStateView.showEmpty();
break;
case R.id.show_retry:
mStateView.showRetry();
break;
case R.id.show_loading:
mStateView.showLoading();
break;
case R.id.show_content:
mStateView.showContent();
break;
}
return super.onOptionsItemSelected(item);
}
}
7 changes: 7 additions & 0 deletions app/src/main/res/layout/view_retry31.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- if not has parent, maybe need to set textColor -->
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/text_retry" />
2 changes: 1 addition & 1 deletion bintray.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ def siteUrl = 'https://github.com/nukc/StateView' // 项目的主页
def gitUrl = 'https://github.com/nukc/StateView.git' // Git仓库的url

group = "com.github.nukc.stateview"
version = "2.1"
version = "2.1.1"

install {
repositories.mavenInstaller {
Expand Down
4 changes: 2 additions & 2 deletions kotlin/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ android {
defaultConfig {
minSdkVersion 15
targetSdkVersion 29
versionCode 4
versionName "2.1"
versionCode 5
versionName "2.1.1"

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles 'consumer-rules.pro'
Expand Down
3 changes: 1 addition & 2 deletions kotlin/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.github.nukc.stateview" />
<manifest package="com.github.nukc.stateview" />
Loading

0 comments on commit f09f894

Please sign in to comment.