简单实现Android顶部工具栏和底部工具栏
废话少说,直接上图,有图有真相。
这两个工具栏全是用布局来实现的。底部工具栏布局代码:
代码
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--><?xmlversion="1.0"encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/bottom"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<TextView
android:id="@+id/edit"
android:text="测试"
android:gravity="center_horizontal"
android:drawableTop="@drawable/ic_dialog_alert"
android:layout_alignParentLeft="true"
android:layout_width="80dip"
android:layout_height="wrap_content"
>
</TextView>
<TextView
android:id="@+id/menu2"
android:text="测试"
android:gravity="center_horizontal"
android:drawableTop="@drawable/ic_dialog_dialer"
android:layout_toRightOf="@id/edit"
android:layout_width="80dip"
android:layout_height="wrap_content"
>
</TextView>
<TextView
android:id="@+id/effect"
android:text="测试"
android:gravity="center_horizontal"
android:drawableTop="@drawable/ic_dialog_email"
android:layout_toRightOf="@id/menu2"
android:layout_width="80dip"
android:layout_height="wrap_content"
>
</TextView>
<TextView
android:id="@+id/menu3"
android:text="测试"
android:gravity="center_horizontal"
android:drawableTop="@drawable/ic_dialog_info"
android:layout_toRightOf="@id/effect"
android:layout_width="80dip"
android:layout_height="wrap_content"
>
</TextView>
</RelativeLayout>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/bottom"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<TextView
android:id="@+id/edit"
android:text="测试"
android:gravity="center_horizontal"
android:drawableTop="@drawable/ic_dialog_alert"
android:layout_alignParentLeft="true"
android:layout_width="80dip"
android:layout_height="wrap_content"
>
</TextView>
<TextView
android:id="@+id/menu2"
android:text="测试"
android:gravity="center_horizontal"
android:drawableTop="@drawable/ic_dialog_dialer"
android:layout_toRightOf="@id/edit"
android:layout_width="80dip"
android:layout_height="wrap_content"
>
</TextView>
<TextView
android:id="@+id/effect"
android:text="测试"
android:gravity="center_horizontal"
android:drawableTop="@drawable/ic_dialog_email"
android:layout_toRightOf="@id/menu2"
android:layout_width="80dip"
android:layout_height="wrap_content"
>
</TextView>
<TextView
android:id="@+id/menu3"
android:text="测试"
android:gravity="center_horizontal"
android:drawableTop="@drawable/ic_dialog_info"
android:layout_toRightOf="@id/effect"
android:layout_width="80dip"
android:layout_height="wrap_content"
>
</TextView>
</RelativeLayout>
顶部工具栏布局代码:
代码
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--><?xmlversion="1.0"encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/top"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<ImageView
android:id="@+id/undo"
android:src="@drawable/ic_dialog_map"
android:layout_alignParentLeft="true"
android:layout_width="80dip"
android:layout_height="wrap_content"
>
</ImageView>
<ImageView
android:id="@+id/save"
android:src="@drawable/ic_dialog_menu_generic"
android:layout_toRightOf="@id/undo"
android:layout_width="80dip"
android:layout_height="wrap_content"
>
</ImageView>
<ImageView
android:id="@+id/share"
android:src="@drawable/ic_dialog_time"
android:layout_toRightOf="@id/save"
android:layout_width="80dip"
android:layout_height="wrap_content"
>
</ImageView>
<ImageView
android:id="@+id/redo"
android:src="@drawable/ic_dialog_usb"
android:layout_toRightOf="@id/share"
android:layout_width="80dip"
android:layout_height="wrap_content"
>
</ImageView>
</RelativeLayout>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/top"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<ImageView
android:id="@+id/undo"
android:src="@drawable/ic_dialog_map"
android:layout_alignParentLeft="true"
android:layout_width="80dip"
android:layout_height="wrap_content"
>
</ImageView>
<ImageView
android:id="@+id/save"
android:src="@drawable/ic_dialog_menu_generic"
android:layout_toRightOf="@id/undo"
android:layout_width="80dip"
android:layout_height="wrap_content"
>
</ImageView>
<ImageView
android:id="@+id/share"
android:src="@drawable/ic_dialog_time"
android:layout_toRightOf="@id/save"
android:layout_width="80dip"
android:layout_height="wrap_content"
>
</ImageView>
<ImageView
android:id="@+id/redo"
android:src="@drawable/ic_dialog_usb"
android:layout_toRightOf="@id/share"
android:layout_width="80dip"
android:layout_height="wrap_content"
>
</ImageView>
</RelativeLayout>
主窗口布局代码:
代码
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--><?xmlversion="1.0"encoding="utf-8"?>
<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_topmenu"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
>
<includelayout="@layout/top_menu"/>
</RelativeLayout>
<TextView
android:id="@+id/txt1"
android:text="asdfasdfas"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/layout_topmenu">
</TextView>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
>
<includelayout="@layout/bottom_menu"/>
</RelativeLayout>
</RelativeLayout>
<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_topmenu"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
>
<includelayout="@layout/top_menu"/>
</RelativeLayout>
<TextView
android:id="@+id/txt1"
android:text="asdfasdfas"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/layout_topmenu">
</TextView>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
>
<includelayout="@layout/bottom_menu"/>
</RelativeLayout>
</RelativeLayout>
主窗口代码:
代码
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->packagecom.figoyu.photoqualify;
importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.view.MotionEvent;
importandroid.view.View;
importandroid.view.Window;
importandroid.view.View.OnTouchListener;
importandroid.widget.ImageView;
importandroid.widget.TextView;
publicclassMainActivityextendsActivity{
TextViewtxt1;
TextViewedittv;
ImageViewimgbtn;
booleanisFirst=true;
booleanistopFirst=true;
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
edittv=(TextView)findViewById(R.id.edit);
txt1=(TextView)findViewById(R.id.txt1);
imgbtn=(ImageView)findViewById(R.id.undo);
edittv.setOnTouchListener(newOnTouchListener(){
@Override
publicbooleanonTouch(Viewv,MotionEventevent){
if(isFirst){
txt1.setText("编辑");
edittv.setBackgroundDrawable(getResources().getDrawable(R.drawable.item_background));
isFirst=false;
}else{
txt1.setText("退出编辑");
edittv.setBackgroundDrawable(getResources().getDrawable(R.drawable.touming));
isFirst=true;
}
returnfalse;
}
});
imgbtn.setOnTouchListener(newOnTouchListener(){
@Override
publicbooleanonTouch(Viewv,MotionEventevent){
if(istopFirst){
txt1.setText("编辑");
istopFirst=false;
}else{
txt1.setText("退出编辑");
istopFirst=true;
}
returnfalse;
}
});
}
}
importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.view.MotionEvent;
importandroid.view.View;
importandroid.view.Window;
importandroid.view.View.OnTouchListener;
importandroid.widget.ImageView;
importandroid.widget.TextView;
publicclassMainActivityextendsActivity{
TextViewtxt1;
TextViewedittv;
ImageViewimgbtn;
booleanisFirst=true;
booleanistopFirst=true;
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
edittv=(TextView)findViewById(R.id.edit);
txt1=(TextView)findViewById(R.id.txt1);
imgbtn=(ImageView)findViewById(R.id.undo);
edittv.setOnTouchListener(newOnTouchListener(){
@Override
publicbooleanonTouch(Viewv,MotionEventevent){
if(isFirst){
txt1.setText("编辑");
edittv.setBackgroundDrawable(getResources().getDrawable(R.drawable.item_background));
isFirst=false;
}else{
txt1.setText("退出编辑");
edittv.setBackgroundDrawable(getResources().getDrawable(R.drawable.touming));
isFirst=true;
}
returnfalse;
}
});
imgbtn.setOnTouchListener(newOnTouchListener(){
@Override
publicbooleanonTouch(Viewv,MotionEventevent){
if(istopFirst){
txt1.setText("编辑");
istopFirst=false;
}else{
txt1.setText("退出编辑");
istopFirst=true;
}
returnfalse;
}
});
}
}