package com.bwie.bar;
import android.app.ActionBar;
import android.app.ActionBar.OnNavigationListener;
import android.app.Activity;
import android.app.FragmentTransaction;
import android.app.ActionBar.Tab;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ArrayAdapter;
import android.widget.Toast;
public class MainActivity extends Activity implements OnNavigationListener {
//定义actionbar
ActionBar actionbar;
//设置监听
ActionBar.TabListener listener=new ActionBar.TabListener() {
//先点击了一次,再去点击别处,执行先点击的那个监听
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
}
//被选中时的监听
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
}
//再次点击的监听(即点击两次)
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//得到actionbar对象
actionbar=getActionBar();
//设置标题
actionbar.setTitle("返回");
//设置图片(不设置会显示默认的图面)
actionbar.setIcon(R.drawable.b4);
//设置图片图片显示不显示 true显示 false不显示
actionbar.setDisplayShowHomeEnabled(true);
//设置左边箭头的显示,同时也是设置事件可点击true,不可点击false
actionbar.setDisplayHomeAsUpEnabled(true);
//设置水平显示
actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
//添加tab
actionbar.addTab(actionbar.newTab().setText("最近").setTabListener(listener));
actionbar.addTab(actionbar.newTab().setText("最新").setTabListener(listener));
actionbar.addTab(actionbar.newTab().setText("最好").setTabListener(listener));
//设置垂直显示
actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
ArrayAdapter<String> adapter=new ArrayAdapter<>(getApplicationContext(), android.R.layout.simple_list_item_1,android.R.id.text1, new String[]{"中国","美国","韩国","日本"});
actionbar.setListNavigationCallbacks(adapter, this);//第二个参数是callback,实现onNavigationItemSelected方法
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
//得到actionbar上的字
String name=item.getTitle().toString();
if(name.equals("返回")){
finish();
}
return super.onOptionsItemSelected(item);
}
@Override
public boolean onNavigationItemSelected(int itemPosition, long itemId) {
//Toast.makeText(getApplicationContext(), itemPosition, Toast.LENGTH_LONG).show();
return false;
}
}
//改变actionbar的背景颜色
style.xml中
<drawable name="BackBar">#ff00</drawable>
加了这个后,然后在后台中这样使用:
getActionBar().setBackgroundDrawable(this.getBaseContext().getResources().getDrawable(R.drawable.BackBar));//设置背景