您的位置:首页 > 移动开发 > Android开发

android实现底部菜单栏

2010-09-12 09:49 302 查看
android程序,许多时候需要菜单栏显示在底部或顶部,但是没有很好的组建供程序员调用,过自定义了一个视图,用来实现底部菜单栏,效果如下图:



实现的主要代码:

Java代码 

@Override   

    public void onCreate(Bundle savedInstanceState) {   

        super.onCreate(savedInstanceState);   

        requestWindowFeature(Window.FEATURE_NO_TITLE);   

        setContentView(R.layout.main);   

  

        linearLayout = (LinearLayout) findViewById(R.id.home);   

        linearLayout.setOnClickListener(new OnClickListener() {   

            @Override   

            public void onClick(View v) {   

                linearLayout   

                        .setBackgroundResource(R.drawable.tab_two_highlight);   

                publish.setBackgroundResource(R.drawable.tab_one_normal);   

                change.setBackgroundResource(R.drawable.tab_one_normal);   

                more.setBackgroundResource(R.drawable.tab_one_normal);   

            }   

        });   

        linearLayout   

        .setBackgroundResource(R.drawable.tab_two_highlight);   

  

        publish = (LinearLayout) findViewById(R.id.publish);   

        publish.setOnClickListener(new OnClickListener() {   

            @Override   

            public void onClick(View v) {   

                publish.setBackgroundResource(R.drawable.tab_two_highlight);   

                linearLayout.setBackgroundResource(R.drawable.tab_one_normal);   

                change.setBackgroundResource(R.drawable.tab_one_normal);   

                more.setBackgroundResource(R.drawable.tab_one_normal);   

            }   

        });   

  

        change = (LinearLayout) findViewById(R.id.change);   

        change.setOnClickListener(new OnClickListener() {   

            @Override   

            public void onClick(View v) {   

                change.setBackgroundResource(R.drawable.tab_two_highlight);   

                linearLayout.setBackgroundResource(R.drawable.tab_one_normal);   

                publish.setBackgroundResource(R.drawable.tab_one_normal);   

                more.setBackgroundResource(R.drawable.tab_one_normal);   

            }   

        });   

  

        more = (LinearLayout) findViewById(R.id.more);   

        more.setOnClickListener(new OnClickListener() {   

            @Override   

            public void onClick(View v) {   

                more.setBackgroundResource(R.drawable.tab_two_highlight);   

                linearLayout.setBackgroundResource(R.drawable.tab_one_normal);   

                publish.setBackgroundResource(R.drawable.tab_one_normal);   

                change.setBackgroundResource(R.drawable.tab_one_normal);   

            }   

        });   

    }   

@Override     public void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         requestWindowFeature(Window.FEATURE_NO_TITLE);         setContentView(R.layout.main);         linearLayout = (LinearLayout) findViewById(R.id.home);         linearLayout.setOnClickListener(new OnClickListener() {             @Override             public void onClick(View v) {                 linearLayout                         .setBackgroundResource(R.drawable.tab_two_highlight);                 publish.setBackgroundResource(R.drawable.tab_one_normal);                 change.setBackgroundResource(R.drawable.tab_one_normal);                 more.setBackgroundResource(R.drawable.tab_one_normal);             }         });         linearLayout         .setBackgroundResource(R.drawable.tab_two_highlight);         publish = (LinearLayout) findViewById(R.id.publish);         publish.setOnClickListener(new OnClickListener() {             @Override             public void onClick(View v) {                 publish.setBackgroundResource(R.drawable.tab_two_highlight);                 linearLayout.setBackgroundResource(R.drawable.tab_one_normal);                 change.setBackgroundResource(R.drawable.tab_one_normal);                 more.setBackgroundResource(R.drawable.tab_one_normal);             }         });         change = (LinearLayout) findViewById(R.id.change);         change.setOnClickListener(new OnClickListener() {             @Override             public void onClick(View v) {                 change.setBackgroundResource(R.drawable.tab_two_highlight);                 linearLayout.setBackgroundResource(R.drawable.tab_one_normal);                 publish.setBackgroundResource(R.drawable.tab_one_normal);                 more.setBackgroundResource(R.drawable.tab_one_normal);             }         });         more = (LinearLayout) findViewById(R.id.more);         more.setOnClickListener(new OnClickListener() {             @Override             public void onClick(View v) {                 more.setBackgroundResource(R.drawable.tab_two_highlight);                 linearLayout.setBackgroundResource(R.drawable.tab_one_normal);                 publish.setBackgroundResource(R.drawable.tab_one_normal);                 change.setBackgroundResource(R.drawable.tab_one_normal);             }         });     }

 

配置文件实现:

Xml代码 

<?xml version="1.0" encoding="utf-8"?>   

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"   

    android:orientation="horizontal" android:layout_width="fill_parent"   

    android:layout_height="wrap_content">   

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"   

        android:orientation="vertical" android:layout_width="80px"   

        android:layout_height="wrap_content" android:id="@+id/home"   

        android:background="@drawable/tab_one_normal">   

        <TextView android:layout_width="wrap_content"   

            android:layout_height="wrap_content" android:text="@string/home"   

            android:gravity="center" android:paddingTop="29px"   

            android:background="@drawable/home" />   

    </LinearLayout>   

    <ImageView android:layout_width="wrap_content"   

            android:layout_height="wrap_content"  android:src="@drawable/line" />   

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"   

        android:orientation="vertical" android:layout_width="80px"   

        android:layout_height="wrap_content" android:background="@drawable/tab_one_normal"   

        android:id="@+id/publish">   

        <TextView android:layout_width="wrap_content"   

            android:layout_height="wrap_content" android:text="@string/publish"   

            android:gravity="center" android:paddingTop="29px"   

             android:background="@drawable/publish" />   

    </LinearLayout>   

    <ImageView android:layout_width="wrap_content"   

            android:layout_height="wrap_content"  android:src="@drawable/line" />   

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"   

        android:orientation="vertical" android:layout_width="80px" android:id="@+id/change"   

        android:layout_height="wrap_content" android:background="@drawable/tab_one_normal">   

        <TextView android:layout_width="wrap_content"   

            android:layout_height="wrap_content" android:text="@string/change"   

            android:gravity="center" android:paddingTop="29px"   

             android:background="@drawable/change" />   

    </LinearLayout>   

    <ImageView android:layout_width="wrap_content"   

            android:layout_height="wrap_content"  android:src="@drawable/line" />   

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"   

        android:orientation="vertical" android:layout_width="80px" android:id="@+id/more"   

        android:layout_height="wrap_content" android:background="@drawable/tab_one_normal">   

        <TextView android:layout_width="wrap_content"   

            android:layout_height="wrap_content" android:text="@string/more"   

            android:gravity="center" android:paddingTop="29px"   

             android:background="@drawable/more" />   

    </LinearLayout>   

</LinearLayout>   

 

代码详见:http://easymorse.googlecode.com/svn/trunk/android.bottom/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息