編輯:關於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;
}
}
點擊下載源碼
Android中二維碼的生成方法(普通二維碼、中心Logo 二維碼、及掃描解析二維碼)
首先聲明我們通篇用的都是Google開源框架Zxing,要實現的功能有三個 ,生成普通二維碼、生成帶有中心圖片Logo 的二維碼,掃描解析二維碼,直接上效果圖吧首先我們需
Android學習-新聞客戶端養成記(二)
新聞客戶端需要的 布局文件 新聞主界面 側滑菜單界面 圖片新聞界面 視頻列表界面 天氣預報界面 新聞詳情界面 以上幾個界面是項目所需要的核心界面,布局擺放
android 計算所在周所在月的前後日期
效果圖:使用了 一個時間相關的工具類 package com.yqy.yqy_date;import android.util.Log;import java.
Android自定義View實現字母導航欄
很多的Android入門程序猿來說對於Android自定義View,可能都是比較恐懼的,但是這又是高手進階的必經之路,所有准備在自定義View上面花一些功夫,多寫一些文章