編輯:關於android開發
界面布局,線性布局,水平排列,平均居中分布
四個TextView,寬度為0dip,權重都是1,內容居中顯示
主體內容部分使用LinearLayout控件,設置id
新建四個Fragment選項類,繼承系統的Fragment類
重寫onCreateView()方法,返回一個View對象
新建四個布局文件,顯示選項卡對應的內容
在activity中
獲取LinearLayout對象,通過findViewById()方法
先找到四個TextView控件對象
調用四個TextView對象的setOnClickListener()方法,設置點擊事件,參數:this
當前activity實現OnClickLisntenr接口,實現onClick()方法,傳遞進去View對象
設置默認界面
獲取FragmentManager對象,通過getFragmentManager()方法
調用FragmentManager對象的beginTransaction()方法,開啟事務,獲得FragmentTransaction對象
調用FragmentTransaction對象的replace()方法,用Fragment替換當前界面,參數:containerViewId,第一個Fragment對象
containerViewId是容器的id,就是我們定義的內容主體的id
調用FragmentTransaction對象的commit()方法,提交事務
在onClick()方法裡面
調用View對象的getId()方法,獲取到當前點擊的控件的id
switch判斷一下id,根據不同的id展示不同的fragment
FragmentTransaction對象的replace()方法裡面,參數1必須是個容器對象,我用TextView報類型轉換異常,LinearLayout控件下面必須有一個子控件
當前沒有動畫效果
package com.tsh.mytabfrag; import android.app.Activity; import android.app.Fragment; import android.app.FragmentManager; import android.app.FragmentTransaction; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.TextView; public class MainActivity extends Activity implements OnClickListener { private TextView tv1, tv2, tv3; private FragmentManager fm; private FragmentTransaction ft; private Fragment fm1, fm2, fm3; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 初始化控件 tv1 = (TextView) findViewById(R.id.tv1); tv2 = (TextView) findViewById(R.id.tv2); tv3 = (TextView) findViewById(R.id.tv3); fm1 = new Fragment1(); fm2 = new Fragment2(); fm3 = new Fragment3(); tv1.setOnClickListener(this); tv2.setOnClickListener(this); tv3.setOnClickListener(this); fm = getFragmentManager(); ft = fm.beginTransaction(); ft.replace(R.id.content, fm1); ft.commit(); } @Override public void onClick(View v) { ft = fm.beginTransaction(); switch (v.getId()) { case R.id.tv1: ft.replace(R.id.content, fm1); break; case R.id.tv2: ft.replace(R.id.content, fm2); break; case R.id.tv3: ft.replace(R.id.content, fm3); break; default: break; } ft.commit(); } }
Android開發學習之路--RxAndroid之lambda RxJava的簡單使用基本上也了解了,其實還有一個比較好玩的就是java8才有的lambda了。 l
HBase & thrift & C++編程HBase & thrift & C++編程.pdf目錄目錄11.前言12.啟動和停止thrift2 12.1
Android面試,與Service交互方式,androidservice五種交互方式,分別是:通過廣播交互、通過共享文件交互、通過Messenger(信使)交互、通過自
《Android源碼設計模式解析與實戰》讀書筆記(二十四) 第二十四章、橋接模式 橋接模式也稱為橋梁模式,是結構型設計模式之一。橋接模式中體現了“單一職責原