抽了点基类重点在initView中的代码。
MainActivity:
public class MainActivity extends BaseActivity<MainPresenter> implements IMainView, View.OnClickListener {
private LinearLayout ll_home;
private ImageView iv_home;
private LinearLayout ll_classify;
private ImageView iv_classify;
private LinearLayout ll_discover;
private ImageView iv_discover;
private LinearLayout ll_cart;
private ImageView iv_cart;
private LinearLayout ll_mine;
private ImageView iv_mine;
private FragmentHome fragmentHome;
private FragmentClassify fragmentClassify;
private FragmentDiscover fragmentDiscover;
private FragmentCart fragmentCart;
private FragmentMine fragmentMine;
private FragmentManager supportFragmentManager;
@Override
MainPresenter initPresenter() {
return new MainPresenter();
}
@Override
int setChildContentView() {
return R.layout.activity_main;
}
@Override
void initView() {
ll_home = findViewById(R.id.ll_home);
iv_home = findViewById(R.id.iv_home);
ll_classify = findViewById(R.id.ll_classify);
iv_classify = findViewById(R.id.iv_classify);
ll_discover = findViewById(R.id.ll_discover);
iv_discover = findViewById(R.id.iv_discover);
ll_cart = findViewById(R.id.ll_cart);
iv_cart = findViewById(R.id.iv_cart);
ll_mine = findViewById(R.id.ll_mine);
iv_mine = findViewById(R.id.iv_mine);
initFragment();
initFragmentAdd();
setImageViewState(iv_home,R.drawable.ac1);
setOnClick();
}
@Override
void initData() {
getParent_title().getTitle().setText("京东商城");
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.ll_home:
setImageViewState(iv_home,R.drawable.ac1);
hideFragment(fragmentHome,fragmentClassify,fragmentDiscover,fragmentCart,fragmentMine);
break;
case R.id.ll_classify:
setImageViewState(iv_classify,R.drawable.abx);
hideFragment(fragmentClassify,fragmentHome,fragmentDiscover,fragmentCart,fragmentMine);
break;
case R.id.ll_discover:
setImageViewState(iv_discover,R.drawable.abz);
hideFragment(fragmentDiscover,fragmentHome,fragmentClassify,fragmentCart,fragmentMine);
break;
case R.id.ll_cart:
setImageViewState(iv_cart,R.drawable.abv);
hideFragment(fragmentCart,fragmentHome,fragmentClassify,fragmentDiscover,fragmentMine);
break;
case R.id.ll_mine:
setImageViewState(iv_mine,R.drawable.ac3);
hideFragment(fragmentMine,fragmentClassify,fragmentDiscover,fragmentCart,fragmentHome);
break;
}
}
private void setImageViewState(ImageView iv,int id) {
iv_home.setImageResource(R.drawable.ac0);
iv_classify.setImageResource(R.drawable.abw);
iv_discover.setImageResource(R.drawable.aby);
iv_cart.setImageResource(R.drawable.abu);
iv_mine.setImageResource(R.drawable.ac2);
iv.setImageResource(id);
}
private void hideFragment(Fragment fragmentShow,Fragment...fragmentHide) {
supportFragmentManager.beginTransaction().show(fragmentShow).hide(fragmentHide[0]).hide(fragmentHide[1]).hide(fragmentHide[2]).hide(fragmentHide[3]).commit();
}
@Override
public void onSuccess(String success) {
}
@Override
public void onError(String error) {
}
private void initFragment() {
fragmentHome = new FragmentHome();
fragmentClassify = new FragmentClassify();
fragmentDiscover = new FragmentDiscover();
fragmentCart = new FragmentCart();
fragmentMine = new FragmentMine();
}
private void initFragmentAdd() {
supportFragmentManager = getSupportFragmentManager();
supportFragmentManager.beginTransaction().add(R.id.fl,fragmentHome).commit();
supportFragmentManager.beginTransaction().add(R.id.fl,fragmentClassify).hide(fragmentClassify).commit();
supportFragmentManager.beginTransaction().add(R.id.fl,fragmentDiscover).hide(fragmentDiscover).commit();
supportFragmentManager.beginTransaction().add(R.id.fl,fragmentCart).hide(fragmentCart).commit();
supportFragmentManager.beginTransaction().add(R.id.fl,fragmentMine).hide(fragmentMine).commit();
}
private void setOnClick() {
ll_home.setOnClickListener(this);
ll_classify.setOnClickListener(this);
ll_discover.setOnClickListener(this);
ll_cart.setOnClickListener(this);
ll_mine.setOnClickListener(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
getPresenter().detachView();
}
}
activity_main.xml:<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".view.activity.MainActivity">
<FrameLayout
android:id="@+id/fl"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="56dp"
android:orientation="horizontal"
android:background="#e0e0e0">
<LinearLayout
android:id="@+id/ll_home"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical" >
<ImageView
android:id="@+id/iv_home"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ac1" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_classify"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical" >
<ImageView
android:id="@+id/iv_classify"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/abx" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_discover"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical" >
<ImageView
android:id="@+id/iv_discover"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/abz" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_cart"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical" >
<ImageView
android:id="@+id/iv_cart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/abv" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_mine"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical" >
<ImageView
android:id="@+id/iv_mine"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ac3" />
</LinearLayout>
</LinearLayout>
</LinearLayout>