簡單實現頂部和底部工具欄

我們今天講的主要就是android屏幕上的頂部與底部的工具欄,這樣我們就可以在一個界面上實現很多種功能瞭,這樣我們的用戶用起來也比較好用,至於上面都有什麼功能,那就看大傢怎麼來實現瞭
這兩個工具欄全是用佈局來實現的。底部工具欄佈局代碼:
<?xml version="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> 
頂部工具欄佈局代碼:
<?xml version="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> 
 
主窗口佈局代碼:
<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns: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"> 
 
<include layout="@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"> 
<include layout="@layout/bottom_menu" /> 
 
</RelativeLayout> 
</RelativeLayout> 
 
最後我們來看看主程序代碼:
import android.app.Activity; 
import android.os.Bundle; 
import android.view.MotionEvent; 
import android.view.View; 
import android.view.Window; 
import android.view.View.OnTouchListener; 
import android.widget.ImageView; 
import android.widget.TextView; 
 
public class MainActivity extends Activity { 
    TextView txt1; 
    TextView edittv; 
    ImageView imgbtn; 
    boolean isFirst = true; 
    boolean istopFirst = true; 
 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
        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(new OnTouchListener() { 
            @Override 
            public boolean onTouch(View v, MotionEvent event) { 
                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; 
                } 
                return false; 
            } 
        }); 
        imgbtn.setOnTouchListener(new OnTouchListener() { 
 
            @Override 
            public boolean onTouch(View v, MotionEvent event) { 
                if(istopFirst) { 
                    txt1.setText("編輯"); 
                    istopFirst = false; 
                }else { 
                    txt1.setText("退出編輯"); 
                    istopFirst = true; 
                } 
                return false; 
            } 
        }); 
    } 
  

 

摘自 與時俱進

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *