打造简单的BaseActivity

来源:互联网 发布:windows 2008ntp服务器 编辑:程序博客网 时间:2024/05/20 20:18
public abstract class BaseActivity extends AppCompatActivity {    TextView titleTV;    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        //控制做页面跳转动画的代码        getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {            getWindow().setEnterTransition(new Slide(Gravity.RIGHT));        }//        getWindow().setExitTransition(new Slide(Gravity.LEFT));        setContentView(getContentViewID());        ButterKnife.bind(this);        ActionBar ab = getSupportActionBar();        titleTV = new TextView(this);        titleTV.setText("Title");        titleTV.setTextColor(Color.WHITE);        titleTV.setTextSize(20);        titleTV.setGravity(Gravity.CENTER);        ab.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);        ActionBar.LayoutParams lp =                new ActionBar.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.CENTER);        ab.setCustomView(titleTV, lp);        ab.setDisplayShowTitleEnabled(false);    }    protected void showBackBtn() {        getSupportActionBar().setDisplayHomeAsUpEnabled(true);        getSupportActionBar().setDisplayShowTitleEnabled(false);    }    protected abstract int getContentViewID();    @Override    public boolean onSupportNavigateUp() {        onBackPressed();        return true;    }    public void log(String log) {        if (C.DEBUG) {            Log.d("TAG", "从" + this.getClass().getSimpleName() + "打印的日志:" + log);        }    }    public void log(int code, String message) {        String log = "错误信息:" + code + ":" + message;        log(log);    }    public void toastAndLog(String text, String log) {        Utils.toast(text);        log(log);    }    public void toastAndLog(String text, int code, String message) {        Utils.toast(text);        log(code, message);    }    //关于界面跳转    public void jumpTo(Class<?> clazz, boolean isFinish, boolean isAnimation) {        Intent intent = new Intent(this, clazz);        if (isAnimation && Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {            startActivity(intent, ActivityOptions.makeSceneTransitionAnimation(this).toBundle());        } else {            startActivity(intent);        }        if (isFinish) {            finish();        }    }    public void jumpTo(Intent intent, boolean isFinish, boolean isAnimation) {        if (isAnimation && Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {            startActivity(intent, ActivityOptions.makeSceneTransitionAnimation(this).toBundle());        } else {            startActivity(intent);        }        if (isFinish) {            finish();        }    }    /**     * 是用来判定EditText是否都输入了内容     *     * @return true 意味着EditText...有未输入内容     * false 意味着所有的EditText都输入了内容     */    public boolean isEmpty(EditText... ets) {        for (EditText et : ets) {            String text = et.getText().toString();            if (TextUtils.isEmpty(text)) {                //et.setError("请输入完整!");                SpannableString ss = new SpannableString("请输入完整!");                //你给ss使用哪一种span效果                ss.setSpan(new ForegroundColorSpan(Color.RED), 0, 3, SpannableString                        .SPAN_EXCLUSIVE_EXCLUSIVE);                ss.setSpan(new BackgroundColorSpan(Color.BLACK), 0, 6, SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE);                ss.setSpan(new ImageSpan(this, R.drawable.boy), 5, 6, SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE);                et.setError(ss);                return true;            }        }        return false;    }    //点击空白区域收软件盘    @Override    public boolean onTouchEvent(MotionEvent event) {        InputMethodManager imm = (InputMethodManager) getSystemService(Context                .INPUT_METHOD_SERVICE);        if (imm != null) {            imm.hideSoftInputFromWindow(getWindow().getDecorView().getWindowToken(),                    0);        }        return super.onTouchEvent(event);    }}

原创粉丝点击