Android Fragment+FragmentTabHost組件實現(xiàn)常見主頁面(仿微信新浪)
更新時間:2016年09月09日 09:57:55 投稿:lqh
本文主要介紹Fragment+FragmentTabHost組件實現(xiàn)常見主頁面,這里整理了詳細資料及簡單示例代碼,有興趣的小伙伴可以參考下
采取的方法是Fragment+FragmentTabHost組件來實現(xiàn)這種常見的app主頁面的效果
首先給出main.xml文件
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <FrameLayout android:id="@+id/realtabcontent" android:layout_width="fill_parent" android:layout_height="0dip" android:layout_weight="1" android:background="@color/white" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom" android:orientation="vertical"> <View android:layout_width="match_parent" android:layout_height="1px" android:background="@color/color_home_tab_line" /> <android.support.v4.app.FragmentTabHost android:id="@android:id/tabhost" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@color/et_divider_disable"> <FrameLayout android:id="@android:id/tabcontent" android:layout_width="0dp" android:layout_height="0dp" android:layout_weight="0" /> </android.support.v4.app.FragmentTabHost> </LinearLayout> </LinearLayout>
主代碼:
public class MainActivity { @ViewInject(android.R.id.tabhost) private FragmentTabHost mTabHost; private LayoutInflater layoutInflater; private int mImageViewArray[] = {R.drawable.home_tab1, R.drawable.home_tab2, R.drawable.home_tab3, R.drawable.home_tab4}; private String mTextviewArray[] = {"首頁", "圈子", "資訊","個人中心"}; private Class fragmentArray[] = {Fragment1.class, Fragment2.class, Fragment3.class,Fragment4.class}; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); init(); } @Override protected void init() { // list=new JSONArray(); layoutInflater=LayoutInflater.from(this); initTabHost();//初始化底部菜單 } /** * 初始化底部工具欄 */ private void initTabHost() { mTabHost = (FragmentTabHost) findViewById(android.R.id.tabhost); mTabHost.setup(this, getSupportFragmentManager(), R.id.realtabcontent); int count = fragmentArray.length; for (int i = 0; i < count; i++) { TabHost.TabSpec tabSpec = mTabHost.newTabSpec(mTextviewArray[i]) .setIndicator(getTabItemView(i)); mTabHost.addTab(tabSpec, fragmentArray[i], null); mTabHost.getTabWidget().getChildAt(i) .setBackgroundResource(R.color.white); } mTabHost.setCurrentTabByTag(mTextviewArray[0]); mTabHost.getTabWidget().setDividerDrawable(null); } /** * 項的樣式 * @param index 第幾個 * @return 每一個Tab樣式 */ private View getTabItemView(int index) { View view = layoutInflater.inflate(R.layout.tab_home_item, null); ImageView imageView = (ImageView) view.findViewById(R.id.icon); imageView.setImageResource(mImageViewArray[index]); TextView textView = (TextView) view.findViewById(R.id.name); textView.setText(mTextviewArray[index]); return view; } }
通過以上文章,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
Android下拉刷新完全解析,教你如何一分鐘實現(xiàn)下拉刷新功能(附源碼)
以下是我自己花功夫編寫了一種非常簡單的下拉刷新實現(xiàn)方案,現(xiàn)在拿出來和大家分享一下。相信在閱讀完本篇文章之后,大家都可以在自己的項目中一分鐘引入下拉刷新功能2013-07-07使用RoundedBitmapDrawable生成圓角圖片的方法
由于RoundedBitmapDrawable類沒有直接提供生成圓形圖片的方法,所以生成圓形圖片首先需要對原始圖片進行裁剪,將圖片裁剪成正方形,最后再生成圓形圖片,具體實現(xiàn)方法,可以參考下本文2016-09-09Android P實現(xiàn)靜默安裝的方法示例(官方Demo)
這篇文章主要介紹了Android P實現(xiàn)靜默安裝,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-02-02Android框架Volley使用之Post請求實現(xiàn)方法
這篇文章主要介紹了Android框架Volley使用之Post請求實現(xiàn)方法,,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-05-05Android中ListView的幾種常見的優(yōu)化方法總結
Android中的ListView應該算是布局中幾種最常用的組件之一,本篇文章主要做了三種優(yōu)化總結,有興趣的可以了解一下。2017-02-02