1. 程式人生 > >Android典型介面設計(7) ——DrawerLayout+Fragement+ViewPager+PagerTabStrip實現雙導航

Android典型介面設計(7) ——DrawerLayout+Fragement+ViewPager+PagerTabStrip實現雙導航

public class MainActivity extends ActionBarActivity implements 
OnItemClickListener{
    private DrawerLayout drawerLayout;
    private ActionBarDrawerToggle toggle;
    private ListView navList;
    private FragmentManager fm;
    private List<Fragment> fragments;
    private ArrayAdapter<String> adapter;
    
private ActionBar actionBar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); drawerLayout=(DrawerLayout)super.findViewById(R.id.drawer_layout); navList=(ListView)super
.findViewById(R.id.left_drawer); navList.setOnItemClickListener(this); fragments=new ArrayList<Fragment>(); fm=super.getSupportFragmentManager(); initListView(); initActionBar(); initDrawerLayout(); initFragments(); }
private String[] tabs=new String[]{"新聞","閱讀 ","視聽","發現","我的設定 "}; /** 初始化drawer的item列表。這要根據你的app內容來處理,但是一個navigation drawer通常由一個ListView組成,所以列表應該通過一個Adapter填入。 */ private void initListView(){ adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, tabs); navList.setAdapter(adapter); } private void initFragments(){ NewsFragment newsFragment=new NewsFragment(); fragments.add(newsFragment); ReadFragment readFragment=new ReadFragment(); fragments.add(readFragment); VideoFragment videoFragment=new VideoFragment(); fragments.add(videoFragment); FoundFragment foundFragment=new FoundFragment(); fragments.add(foundFragment); OwnerFragment ownerFragment=new OwnerFragment(); fragments.add(ownerFragment); setFragments(0); } private void setFragments(int position){ fm.beginTransaction().replace(R.id.content_frame, fragments.get(position),"t"+position).commit(); } private void initActionBar(){ actionBar=super.getSupportActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setIcon(new ColorDrawable(0)); actionBar.setTitle(tabs[0]); } private void initDrawerLayout(){ toggle=new ActionBarDrawerToggle(this, drawerLayout, R.drawable.com_btn, R.string.drawer_open, R.string.drawer_closed){ /** 當drawer處於完全關閉的狀態時呼叫 */ @Override public void onDrawerClosed(View drawerView) { super.onDrawerClosed(drawerView); } /** 當drawer處於完全開啟的狀態時呼叫 */ @Override public void onDrawerOpened(View drawerView) { super.onDrawerOpened(drawerView); } }; // 設定drawer觸發器為DrawerListener drawerLayout.setDrawerListener(toggle); } private void toggleNav(){ if(drawerLayout.isDrawerOpen(Gravity.START)){ drawerLayout.closeDrawer(Gravity.START); }else{ drawerLayout.openDrawer(Gravity.START); } } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item){ switch(item.getItemId()){ case android.R.id.home: toggleNav(); break; } return true; }

相關推薦

Android典型介面設計(7) ——DrawerLayout+Fragement+ViewPager+PagerTabStrip實現導航

public class MainActivity extends ActionBarActivity implements OnItemClickListener{ private DrawerLayout drawerLayout; private ActionBarDrawe

Android典型介面設計(6)——ActionBar Tab+ViewPager+Fagment實現滑動導航

public class MachineFragment extends Fragment { private String title; public void setArguments(Bundle bundle) { title=bundle.getSt

Android典型介面設計(3)——訪網易新聞實現導航tab切換

public class NewsFragment extends Fragment implements OnPageChangeListener { private View view=null; private RadioGroup rgChannel=null; p

Android典型介面設計(5)——使用SlidingMenu和DrawerLayout分別實現左右側邊欄

public class MainActivity extends Activity { private DrawerLayout drawerLayout; private ActionBarDrawerToggle toggle; private ActionBar ac

Android典型介面設計(8) ——ViewPager+PagerSlidingTabStrip實現導航

public class NewsFragment extends Fragment { @Override public void onAttach(Activity activity) { super.onAttach(activity); }

Android典型介面設計(4)——使用ActionBar+Fragment實現tab切換

public class TBActivity extends Activity { private ActionBar actionBar; protected void onCreate(Bundle savedInstanceState) { super.onC

Android典型介面設計——ViewPage+Fragment實現區域頂部tab滑動切換

public class MainActivity extends FragmentActivity implements OnPageChangeListener{ private ViewPager viewPager; private RadioGroup rgChannel=n

Android典型介面設計——FragmentTabHost+Fragment實現底部tab切換

一、問題描述   在上次博文中,我們使用RadioGroup+ViewPage+Fragmen實現了頂部滑動導航(檢視文章:http://www.cnblogs.com/jerehedu/p/4607599.html#dxjmsj ),接下來我們使用FragmentTabHost+F

Android使用者介面設計

View 檢視   佔據螢幕上的一塊矩形區域,負責提供元件繪製和事件處理的方法。Android 比喻成窗戶,每塊玻璃就是一個 view。   View 類是所有UI元件的基類,位於 android.view 包中;文字框元件 TextView 是 View 類的子類,位於 android.widget 包

Android 使用者介面設計之TextView

5.富文字   先說一下什麼是富文字,富文字就是對文字中一些特殊文字或者圖片的特殊顯示。例如我們我們發一段話“你還沒有還我100塊錢。”這句話我們要強調“100塊錢”這是後我們可以把它顯示為特殊的顏色,這其實就是一種富文字。有時候我們QQ聊天經常發表情,其實這也是一種富文字。富文字

Android 使用者介面設計之EditText

layout佈局檔案中相應的EditText要新增如下語句:   android:password="true"   結果: 輸入限制   控制輸入的內容,例如我們要定義一個輸入手機號的輸入框,這是我們就不允許輸入字母或者漢字,我們只允

Android使用者介面設計之建立列表檢視程式

列表檢視(ListView)是Android平臺下用於顯示不定數量的資料最有用的檢視控制元件之一。在這個教程中,我們將向你展示如何使用ListView來瀏覽文章列表。 在之前的文章中,你看到了許多關於不同佈局控制元件的教程。應用程式本身非常簡單:它將顯示文章標題列表,當

Android UI介面設計

     今天要寫的是一個簡單的手機資訊頁面顯示,用Android中的layout來實現,主要運用了相對佈局和線性佈局來完成,然後是手機資訊介面的國際化。                                                        

Android開發介面設計---音樂播放器介面

採用線性佈局  <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" and

高質量介面設計API閘道器元件實現(系統內閘道器,非服務閘道器中介軟體)

五大坑隊友介面 一、沒有介面文件 二、出入參風格不統一 三、異常提示不友好 四、模型結構混亂,粗暴升級 五、穩定性差,找不到人   全年系統服務時間/系統不能提供服務的時間>99.99,穩定性好   介面質量差解決之道:

Spring框架學習筆記(9)——API介面設計相關知識及具體編碼實現

最近需要設計一個API伺服器,想要把API介面搞得規範一下,就通過網上搜集到了一些資料,以下便是自己的一些理解以及相關的具體實現 本文采用的是spring boot+maven的方案 restful規範 這個規範我在這裡也不打算長篇大論地講解,怎麼說呢,有人喜歡有人討厭,我也不去爭,因為我經驗不多,看法和大佬

TabLayout+ViewPager+Fragment實現底部導航

MainActivity extends AppCompatActivity { private TabLayout mTabLayout; //Tab 文字 private final int[] TAB_TITLES = new int[]{R.string.weixin,R.string.con

第四篇-以ConstraintLayout進行Android介面設計

此文章基於第三篇。 一、新建一個layout.xml檔案,建立方法不再贅述,在Design介面右擊LinearLayout,點選Convert LinearLayout to ConstraintLayout,選擇ok。 二、將main.java中setContentView(R.layout.layou

第三篇-以LinearLayout進行Android介面設計

一、新建一個專案 選擇empty activity,此時專案裡面沒有main.java的檔案。 二、手動建立java檔案 Project那兒選擇android模式,在app/java/com....一般是第一個資料夾下,右擊滑鼠new->activity->empty activity。Ac

Android應用開發 MP3音樂播放器介面設計 2

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!