一、
Android studio创建好工程之后
首先主布局:
采用线性布局
//用来装碎片的
<FrameLayout
android:id="@+id/maincontent"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_weight="1" >
</FrameLayout>
//分割显示框与导航栏
<View android:layout_width="match_parent"
android:layout_height="0.5dp"
android:alpha="1"
android:background="@android:color/darker_gray"
/>
//用fragmentTabHost来创建底部的导航栏,注意:这里的id是固定的,不可以随意乱改
<android.support.v4.app.FragmentTabHost
android:id="@android:id/tabhost"
android:layout_width="match_parent"
android:layout_height="60dp">
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="0dp"
android:layout_height="0dp"
>
</FrameLayout>
</android.support.v4.app.FragmentTabHost>
二、在创建要用的碎片以及碎片的xml(很简单,Android studio会自动填写代码,这里不做展示):
三、具体化导航栏的设置:在layout中建立一个xml来细化
<ImageView
android:id="@+id/image"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:scaleType="fitStart"
/>
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="10sp"
android:textColor="@android:color/darker_gray"
/>
四、mainactivity(这种方法以后多加个碎片时非常方便添加):
//把要用的
private FragmentTabHost fragmentTabHost;
private String texts[] = {” 填导航栏中的名称“};
private int imageButton[] = {R.你的按钮图片};
private Class fragmentArray[]={你的碎片.class};
//绑定导航栏
fragmentTabHost = (FragmentTabHost) findViewById(android.R.id.tabhost);
fragmentTabHost.setup(this, getSupportFragmentManager(),
R.id.maincontent);
//依次添加碎片并关联
for (int i = 0; i < texts.length; i++){
TabSpec spec=fragmentTabHost.newTabSpec(texts[i]).setIndicator(getView(i));
fragmentTabHost.addTab(spec, fragmentArray[i], null); fragmentTabHost.getTabWidget().getChildAt(i).setBackgroundResource(R.drawable.timg);
}
private View getView(int i) {
//加入导航栏具体细节
View view=View.inflate(MainActivity.this, R.layout.tabcontent, null);
ImageView imageView=(ImageView) view.findViewById(R.id.image);
TextView textView=(TextView) view.findViewById(R.id.text);
imageView.setImageResource(imageButton[i]);
textView.setText(texts[i]);
return view;
}
}
五、可以在这个基础上将各个碎片精细。