中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android 中ActionBar+fragment實現頁面導航的實例

發布時間:2020-08-21 09:36:31 來源:腳本之家 閱讀:458 作者:lqh 欄目:移動開發

Android 中ActionBar+fragment實現頁面導航的實例

為保證android2.0以上均能運行,使用support.v7庫下的actionbar及fragment

繼承自AppCompatActivity(ActionBarActivity已過時)使用getSupportActionBar()得到ActionBar,

ActionBar.Tab,這里Tab必須設置監聽,在監聽中實現Fragment的切換。

這里重點提一下,Theme主題一定要適配,因為我使用的是AppCompatActivity所以,

android:theme="@style/Theme.AppCompat.Light" 

如果不用AppCompatActivity一定要注意使用相應的主題適配,否則會getActionBar/getSupportActionbar的時候拿不到東西,空指針報錯

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" 
  android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" 
  android:paddingRight="@dimen/activity_horizontal_margin" 
  android:paddingTop="@dimen/activity_vertical_margin" 
  android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"> 
 
  <FrameLayout 
    android:id="@+id/context" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"/> 
 
</RelativeLayout> 
package com.example.yasin.actionbarusing; 
 
 
import android.app.Activity; 
import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentTransaction; 
import android.support.v7.app.ActionBar; 
import android.support.v7.app.ActionBarActivity; 
import android.support.v7.app.AppCompatActivity; 
import android.util.Log; 
import android.view.View; 
 
 
public class MainActivity extends AppCompatActivity { 
 
  ActionBar actionBar; 
  @Override 
  protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
 
    actionBar = getSupportActionBar(); 
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 
 
    ActionBar.Tab tab1 = actionBar.newTab().setText("Tab1"); 
    tab1.setTabListener(new MyTabListener(new Fragment1())); 
    ActionBar.Tab tab2 = actionBar.newTab().setText("Tab2"); 
    tab2.setTabListener(new MyTabListener(new Fragment2())); 
    actionBar.addTab(tab1); 
    actionBar.addTab(tab2); 
  } 
 
  class MyTabListener implements ActionBar.TabListener{ 
 
    private Fragment fragment; 
    public MyTabListener (Fragment fragment){ 
      this.fragment=fragment; 
    } 
 
 
    @Override 
    public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) { 
      ft.replace(R.id.context,fragment); 
    } 
 
    @Override 
    public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) { 
 
    } 
 
    @Override 
    public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) { 
      //ft.remove(fragment); 
    } 
  } 
 
} 
<?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"> 
 
  <TextView 
    android:id="@+id/tv1" 
    android:text="fragment1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 
 
</LinearLayout> 


package com.example.yasin.actionbarusing; 
 
import android.os.Bundle; 
import android.support.annotation.Nullable; 
import android.support.v4.app.Fragment; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
 
/** 
 * Created by Yasin on 2016/1/3. 
 */ 
public class Fragment1 extends Fragment{ 
  @Nullable 
  @Override 
  public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View view = inflater.inflate(R.layout.fragment1,container,false); 
 
    return view; 
  } 
} 
<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
  package="com.example.yasin.actionbarusing" > 
 
  <application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/Theme.AppCompat.Light" > 
    <activity 
      android:name=".MainActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
        <action android:name="android.intent.action.MAIN" /> 
 
        <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
    </activity> 
  </application> 
 
</manifest> 

效果圖:

Android 中ActionBar+fragment實現頁面導航的實例

如有疑問請留言或者到本站社區交流討論,大家共同進步,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁晋县| 林周县| 康马县| 垣曲县| 闻喜县| 乌苏市| 黄陵县| 东至县| 呼伦贝尔市| 八宿县| 泰安市| 维西| 井研县| 扎赉特旗| 武威市| 津市市| 十堰市| 定南县| 江津市| 中江县| 子长县| 万州区| 定日县| 马尔康县| 健康| 清河县| 毕节市| 甘洛县| 张家港市| 竹溪县| 新绛县| 皮山县| 吉木萨尔县| 新晃| 连平县| 通州区| 漯河市| 轮台县| 福安市| 普格县| 彰化市|