欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android 中ActionBar+fragment實現(xiàn)頁面導航的實例

 更新時間:2017年09月13日 11:20:02   投稿:lqh  
這篇文章主要介紹了Android 中ActionBar+fragment實現(xiàn)頁面導航的實例的相關資料,希望通過本文能幫助到大家實現(xiàn)這樣的功能,需要的朋友可以參考下

Android 中ActionBar+fragment實現(xiàn)頁面導航的實例

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

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

ActionBar.Tab,這里Tab必須設置監(jiān)聽,在監(jiān)聽中實現(xiàn)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> 

效果圖:

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

相關文章

  • Android Flutter實現(xiàn)自定義下拉刷新組件

    Android Flutter實現(xiàn)自定義下拉刷新組件

    在Flutter開發(fā)中官方提供了多平臺的下拉刷新組件供開發(fā)者使用。本文將改造一下這些組件,實現(xiàn)自定義的下拉刷新組件,感興趣的可以了解一下
    2022-08-08
  • Android TabHost組件使用方法詳解

    Android TabHost組件使用方法詳解

    這篇文章主要以實例講解的方式為大家詳細介紹了Android TabHost組件的使用方法,感興趣的小伙伴們可以參考一下
    2016-05-05
  • activity控制對話框風格、顯示大小與位置

    activity控制對話框風格、顯示大小與位置

    對于對話框風格大家普遍使用PopupWindow,也有許多朋友開發(fā)設計時使用的是activity對話框方式,因此,本文對如何通過activity實現(xiàn)與PopupWindow相同的效果進行詳細介紹,具有很好的參考價值,需要的朋友一起來看下吧
    2016-12-12
  • Android 5.0+ 屏幕錄制實現(xiàn)的示例代碼

    Android 5.0+ 屏幕錄制實現(xiàn)的示例代碼

    這篇文章主要介紹了Android 5.0+ 屏幕錄制實現(xiàn)的示例代碼,從 5.0 開始,系統(tǒng)提供給了 app 錄制屏幕的一系列方法,不需要 root 權限,只需要用戶授權即可錄屏,相對來說較為簡單,感興趣的小伙伴們可以參考一下
    2018-05-05
  • 大型項目里Flutter測試應用實例集成測試深度使用詳解

    大型項目里Flutter測試應用實例集成測試深度使用詳解

    這篇文章主要為大家介紹了大型項目里Flutter測試應用實例集成測試深度使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • Android 桌面Widget開發(fā)要點解析(時間日期Widget)

    Android 桌面Widget開發(fā)要點解析(時間日期Widget)

    總的來說,widget主要功能就是顯示一些信息。我們今天編寫一個很簡單的作為widget,顯示時間、日期、星期幾等信息。需要顯示時間信息,那就需要實時更新,一秒或者一分鐘更新一次
    2013-07-07
  • Android彈幕框架 黑暗火焰使基本使用方法

    Android彈幕框架 黑暗火焰使基本使用方法

    這篇文章主要介紹了Android彈幕框架黑暗火焰使基本使用方法,需要的朋友可以參考下。今天我將分享由BiliBili開源的Android彈幕框架(DanmakuFlameMaster)的學習經(jīng)驗,感興趣的朋友一起看看吧
    2016-10-10
  • Android UI設計與開發(fā)之仿人人網(wǎng)V5.9.2最新版引導界面

    Android UI設計與開發(fā)之仿人人網(wǎng)V5.9.2最新版引導界面

    這篇文章主要為大家詳細介紹了Android UI設計與開發(fā)之仿人人網(wǎng)V5.9.2最新版引導界面,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Android 使用PDF.js瀏覽pdf的方法示例

    Android 使用PDF.js瀏覽pdf的方法示例

    這篇文章主要介紹了Android 使用PDF.js瀏覽pdf的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • Android源碼學習之單例模式應用及優(yōu)點介紹

    Android源碼學習之單例模式應用及優(yōu)點介紹

    動態(tài)確保某一個類只有一個實例,而且自行實例化并向整個系統(tǒng)提供這個實例這就是Android單例模式應用,接下來詳細介紹,有需求的朋友可以參考下
    2013-01-01

最新評論