編輯:關於Android編程

1. app 圖標:包含了 圖標,主標題,副標題,回退部分
2. 視圖控件:允許用戶切換視圖。視圖切換控件的樣式有下拉菜單或選項卡控件,d對應了,標准,list,tab,3種導航模式
3. 操作按鈕:在操作欄裡,展示出你的 app 中最重要的操作。不能展示在操作欄裡的操作,可以自動移到“更多操作”裡
4. 更多操作:把不常用的操作放到更多操作裡

用來顯示標題和回退的
相關Api的使用
// 獲取ActionBar
mActionBar = getSupportActionBar();
mActionBar.setTitle("MainTitle");// 設置主title部分
mActionBar.setSubtitle("SubTitle");// 設置子title部分
mActionBar.setIcon(R.drawable.ic_launcher);// 設置應用圖標
mActionBar.setDisplayShowTitleEnabled(true);// 設置菜單 標題是否可見
mActionBar.setDisplayShowHomeEnabled(true);// 設置應用圖標是否
mActionBar.setDisplayUseLogoEnabled(false);// 設置是否顯示Logo優先
mActionBar.setDisplayHomeAsUpEnabled(true);// 設置back按鈕是否可見
List模式

通過ActionBar設置導航模式
// actionBar的導航模式---List mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
在List模式下設置數據的適配以及監聽
// 初始化數據
final List objects = new ArrayList();
objects.add("主頁");
objects.add("新聞");
objects.add("娛樂");
// 創建adapter
ArrayAdapter adapter = new ArrayAdapter(this,
android.R.layout.simple_list_item_1, objects);
// 創建監聽
OnNavigationListener listener = new OnNavigationListener() {
@Override
public boolean onNavigationItemSelected(int itemPosition, long
itemId)
{
Toast.makeText(getApplicationContext(), objects.get(itemPosition) +
"", Toast.LENGTH_SHORT).show();
return false;
}
};
// 給ActionBar設置List導航模式下的數據適配和監聽
mActionBar.setListNavigationCallbacks(adapter, listener);
Tab模式

通過ActionBar設置Tab模式
// actionBar的導航模式---TAB mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
在Tab模式下設置數據的適配以及監聽
final List mTabs = new ArrayList();
for (int i = 0; i < 3; i++)
{
//創建tab
Tab tab = mActionBar.newTab();
tab.setText("tab" + (i + 1));
tab.setIcon(R.drawable.ic_launcher);
mTabs.add(tab);
//設置Tab的監聽
tab.setTabListener(new TabListener() {
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft)
{
Toast.makeText(getApplicationContext(), tab.getText() + "取消選中了",
Toast.LENGTH_SHORT).show();
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft)
{
Toast.makeText(getApplicationContext(), tab.getText() + "選中了",
Toast.LENGTH_SHORT).show();
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft)
{
Toast.makeText(getApplicationContext(), tab.getText() + "重新選中了",
Toast.LENGTH_SHORT).show();
}
});
//將tab添加到actionBar中
mActionBar.addTab(tab);
}
創建Action button
復寫 activity 的 onCreateOptionsMenu()方法
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
MenuInflater inflater = getMenuInflater();
// 將布局掛載到menu上
inflater.inflate(R.menu.main, menu);
return super.onCreateOptionsMenu(menu);
}
給menu創建對應的menu 的xml文件
低版本適配的說明:
在menu對應的xml文件的根節點,需要聲明 自定義命名空間:
code
xmlns:heima="http://schemas.android.com/apk/res-auto"
item中的屬性 showAction 命名空間需要設置成自定義的ShowAction的取值說明:
always : 總是顯示 ifroom : 如果放的下去,就顯示(溢出菜單) never : 從不顯示 withText: 和文本一起顯示 collapseActionView: 折疊顯示Menu菜單的類型:
Group菜單 裡面可以放置Item結點 子菜單 Item裡面可以放置Menu結點actionViewClass屬性
響應Action Button 事件
復寫onOptionsItemSelected()響應item事件
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
return super.onOptionsItemSelected(item);
}
searchView
- SupportMenuItem supportMenuItem = (SupportMenuItem) item; SearchView searchView = (SearchView) supportMenuItem.getActionView();

呼出Action Mode功能
startActionMode(Callback);
低版本中
startSupportActionMode(Callback);
Action Mode的回調(Callback)
// 創建action mode時的回調
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu)
{
getMenuInflater().inflate(R.menu.action_mode, menu);
// 返回true說明有action mode
return true;
}
// 准備開始起時的回調
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu)
{
// TODO Auto-generated method stub
return true;
}
// action mode中的item被點擊時的回調
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item)
{
return false;
}
//action mode 銷毀時的回調
@Override
public void onDestroyActionMode(ActionMode mode)
{
Toast.makeText(this, "關閉了", Toast.LENGTH_SHORT).show();
}
Android Studio使用教程(五):Gradle命令詳解和導入第三方包
Android Studio + Gradle的組合用起來非常方便,很多第三方開源項目也早都遷移到了Studio,為此今天就來介紹下查看、編譯並導入第三方開源項目的方法。
手把手教你做視頻播放器(六)(完)
第8節 橫屏的播放界面在設備旋轉成橫屏的時候,視頻將自動進行全屏播放。8.1 播放器橫屏布局我們要為全屏播放界面設置一個新的布局,這個布局裡面只用來播放視頻,不需要顯示任
Android開發環境搭建全程演示(jdk+eclipse+android sdk)
一 相關下載(1) java JDK下載:進入該網頁: http://java.sun.com/javase/downloads/index.jsp (或者
MSM8909+Android5.1.1 SPI驅動開發(PSAM部分)
MSM8909+Android5.1.1SPI驅動開發(PSAM部分) 1. PSAM部分的硬件設計 圖1CS 片選信號SCK 時鐘信號MISO 主設