編輯:關於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
Android開發學習之路--RxAndroid之lambda RxJava的簡單使用基本上也了解了,其實還有一個比較好玩的就是java8才有的lambda了。 l
HBase & thrift & C++編程
HBase & thrift & C++編程HBase & thrift & C++編程.pdf目錄目錄11.前言12.啟動和停止thrift2 12.1
Android面試,與Service交互方式,androidservice
Android面試,與Service交互方式,androidservice五種交互方式,分別是:通過廣播交互、通過共享文件交互、通過Messenger(信使)交互、通過自
《Android源碼設計模式解析與實戰》讀書筆記(二十四)
《Android源碼設計模式解析與實戰》讀書筆記(二十四) 第二十四章、橋接模式 橋接模式也稱為橋梁模式,是結構型設計模式之一。橋接模式中體現了“單一職責原