編輯:關於Android編程
上一篇文章介紹了ActionBar的使用,這裡介紹ActionBar的另一種使用方法,達到的效果和以前的GroupActivity或TabHost是一樣的,可作為導航來使用。
實現效果圖:
源代碼:
布局文件:activity_main:
f3.xml(軍事新聞):
MainActivity:
package com.fragmentdemo10_actionbar; import android.app.ActionBar; import android.app.ActionBar.Tab; import android.app.ActionBar.TabListener; import android.app.Activity; import android.app.FragmentTransaction; import android.os.Bundle; public class MainActivity extends Activity { private ActionBar actionBar; /** * 設置三個整型常量,分別為0,1,2;分別對應 :運動新聞、娛樂新聞、軍事新聞。 */ private final int SPORTS = 0; private final int ENTERTAINMENT = 1; private final int MILITARY = 2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); actionBar = getActionBar(); // 設置ActionBar的導航模式 actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); actionBar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE); /** * 添加三個tab,分別為:體育新聞,娛樂新聞,軍事新聞。 */ actionBar.addTab(actionBar.newTab().setText("體育新聞") .setIcon(R.drawable.ic_launcher) .setTabListener(new MyTabListener()).setTag(SPORTS)); actionBar.addTab(actionBar.newTab().setText("娛樂新聞") .setIcon(R.drawable.ic_launcher) .setTabListener(new MyTabListener()).setTag(ENTERTAINMENT)); actionBar.addTab(actionBar.newTab().setText("軍事新聞") .setIcon(R.drawable.ic_launcher) .setTabListener(new MyTabListener()).setTag(MILITARY)); } class MyTabListener implements TabListener { @Override public void onTabSelected(Tab tab, FragmentTransaction ft) { switch (Integer.parseInt(tab.getTag().toString())) { /** * 對應體育新聞 */ case SPORTS: ft.replace(R.id.main, new FragementA()); break; /** * 對應娛樂新聞 */ case ENTERTAINMENT: ft.replace(R.id.main, new FragementB()); break; /** * 對應軍事新聞 */ case MILITARY: ft.replace(R.id.main, new FragementC()); break; default: break; } } @Override public void onTabUnselected(Tab tab, FragmentTransaction ft) { } @Override public void onTabReselected(Tab tab, FragmentTransaction ft) { } } }FragmentA(Tab體育新聞對應的Fragment):
package com.fragmentdemo10_actionbar; import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; /** * Tab體育新聞對應的Fragment * */ public class FragementA extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.f1, null); return view; } }FragmentB(Tab娛樂新聞對應的Fragment):
package com.fragmentdemo10_actionbar; import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; /** * TAB娛樂新聞對應的Fragment * */ public class FragementB extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.f2, null); return view; } }FragmentC(Tab軍事新聞對應的Fragment):
package com.fragmentdemo10_actionbar; import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; /** * TAB軍事新聞對應的Fragment * */ public class FragementC extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.f3, null); return view; } }
點擊下載源碼
首先聲明我們通篇用的都是Google開源框架Zxing,要實現的功能有三個 ,生成普通二維碼、生成帶有中心圖片Logo 的二維碼,掃描解析二維碼,直接上效果圖吧首先我們需
新聞客戶端需要的 布局文件 新聞主界面 側滑菜單界面 圖片新聞界面 視頻列表界面 天氣預報界面 新聞詳情界面 以上幾個界面是項目所需要的核心界面,布局擺放
效果圖:使用了 一個時間相關的工具類 package com.yqy.yqy_date;import android.util.Log;import java.
很多的Android入門程序猿來說對於Android自定義View,可能都是比較恐懼的,但是這又是高手進階的必經之路,所有准備在自定義View上面花一些功夫,多寫一些文章