马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本案例主要实现的是在标题栏上面添加菜单以及标题栏的隐藏:
1.布局文件的配置:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
<Button
android:id="@+id/show"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_below="@+id/textView1"
android:layout_marginTop="37dp"
android:text="显示ActionBar"
android:onClick="show"
/>
<Button
android:id="@+id/hide"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/show"
android:layout_below="@+id/show"
android:layout_marginTop="23dp"
android:onClick="hide"
android:text="隐藏ActionBar" />
</RelativeLayout>
2.my_menu.xml文件的配置:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:title="菜单"
android:showAsAction="always|withText"
>
<menu>
<group android:checkableBehavior="single">
<item android:id="@+id/font_10"
android:title="选择联系人" />
<item android:id="@+id/font_12"
android:title="选择短信" />
<item android:id="@+id/font_14"
android:title="我的音乐" />
<item android:id="@+id/font_16"
android:title="我的QQ" />
<item android:id="@+id/font_18"
android:title="我的服务" />
</group>
</menu>
</item>
<item
android:id="@+id/plain_item"
android:showAsAction="always|withText"
android:title="我的时钟" />
<item
android:id="@+id/font_color"
android:showAsAction="always|withText"
android:title="选择颜色"
>
<menu>
<group>
<item android:id="@+id/red_font" android:title="红色"/>
<item android:id="@+id/green_font" android:title="绿色"/>
<item android:id="@+id/bule_font" android:title="蓝色"/>
</group>
</menu>
</item>
</menu>
3、activity程序功能的实现:
package com.example.actionbar_test;
import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.ActionBar;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
public class MainActivity extends Activity {
private ActionBar actionBar;
private TextView tV;
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.tV = (TextView) this.findViewById(R.id.textView1);
actionBar = this.getActionBar();
actionBar.setDisplayShowHomeEnabled(true);
actionBar.setHomeButtonEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayShowTitleEnabled(true);
}
//点击子项
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.my_menu, menu);
return true;
}
/**
* onOptionsItemSelected
* item.getItemId() 获得子菜单项的id并更改其文字的大小
*/
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch(item.getItemId())
{
case R.id.font_10:
tV.setTextSize(10);
break;
case R.id.font_12:
this.tV.setTextSize(12);
break;
case R.id.font_14:
this.tV.setTextSize(14);
break;
case R.id.font_16:
this.tV.setTextSize(16);
break;
case R.id.font_18:
this.tV.setTextSize(15);
break;
case R.id.plain_item:
this.finish();
break;
}
return super.onOptionsItemSelected(item);
}
//显示ActionBar按钮的方法
public void show(View v)
{
actionBar.show();
}
//隐藏ActionBar按钮的方法
public void hide(View v)
{
actionBar.hide();
}
}
|