技术做久了很多,小玩意,不百度,就感觉不能很快写出来.临时记录下,帮助需要的朋友,快速实现CV(Ctrl+C,Ctrl+V)大法 ,超快速集成
xml 文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/child_main_acitivity"
android:background="@color/white"
android:orientation="vertical">
<FrameLayout
android:id="@+id/home_rl"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_above="@+id/home_tab_host"
android:layout_weight="1"></FrameLayout>
<android.support.v4.app.FragmentTabHost
android:id="@+id/home_tab_host"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_45"
android:layout_alignParentBottom="true"
>
</android.support.v4.app.FragmentTabHost>
</LinearLayout>
activity.java文件
public class MainActivity extends BaseActivity {
public static final int REQUEST_PERMISSION_MAIN = 0x03;
private static final String TAG = "MainActivity";
private Long firstTime = 0L;
public FragmentTabHost mHomeTabHost;
private FragmentManager mFragmentManager;
private int[] imageId = {R.drawable.home_fragment_selector, R.drawable.msg_fragment_selector, R.drawable.service_fragment_selector, R.drawable.mine_fragment_selector,};
private Class[] clazz = new Class[4];
private UpdataAppBean.DataBean.ListBean listBean;
private String[] mText = {"首页", "消息", "客服", "我的"};
@Override
public int getLayOutID() {
return R.layout.activity_main;
}
@Override
protected void initView(Bundle savedInstanceState) {
clazz = new Class[]{HomeFragment.class, MessageFragment.class, CustomerServiceFragment.class, MineFragment.class};
mHomeTabHost = (FragmentTabHost) findViewById(R.id.home_tab_host);
mFragmentManager = getSupportFragmentManager();
//配置host
mHomeTabHost.setup(this, mFragmentManager, R.id.home_rl);
for (int i = 0; i < imageId.length; i++) {
mHomeTabHost.addTab(mHomeTabHost.newTabSpec(mText[i]).setIndicator(getImageView(i)), clazz[i], null);
}
//取出分割线
mHomeTabHost.getTabWidget().setDividerDrawable(null);
}
/**
* 这里可以动态修改底部导航栏图标.
*
* @param index
*
* @return
*/
private View getImageView(int index) {
View view = getLayoutInflater().inflate(R.layout.fragment_tab_image, null);
ImageView imageView = (ImageView) view.findViewById(R.id.icon_tab);
TextView tv = (TextView) view.findViewById(R.id.txt_indicator);
imageView.setImageResource(imageId[index]);
tv.setText(mText[index]);
return view;
}
}
activity 中,就这些代码!!!
底部图片选择器:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/shouye_press" android:state_pressed="true"/>
<item android:drawable="@drawable/shouye_press" android:state_selected="true"/>
<item android:drawable="@drawable/shouye_press" android:state_checked="true"/>
<item android:drawable="@drawable/shouye"/>
</selector>
fragment_tab_image.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:paddingTop="3dp"
android:paddingBottom="3dp"
android:gravity="center">
<ImageView
android:id="@+id/icon_tab"
android:layout_width="24dp"
android:layout_height="24dp"
/>
<TextView
android:id="@+id/txt_indicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/sp_12"
android:textColor="@color/selector_tab_text"
/>
</LinearLayout>
selector_tab_text.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:color="#00345c" />
<item android:state_active="true" android:color="#00345c"/>
<item android:state_selected="false" android:color="#a9b7b7" />
<item android:state_active="false" android:color="#a9b7b7"/>
</selector>
以上就是这些,10分钟就可以完成五个Fragment加上,底部导航栏的搭建!!!
希望能够帮助到各位!