android自定义操作栏使用?

时间:2016-09-26 20:41:44

标签: android android-actionbar

我是android的新手请帮助我。我创建了一个包含我的操作栏代码的类,我希望在所有活动中使用它。我如何在我的活动中运行/调用它? 谢谢。

ActionBar类:

public class CustomActionBar extends Activity {

        public void actionbarMethod() {

            LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View actionBarView = inflater.inflate(R.layout.custom_actionbar, null);

            ActionBar actionBar = getActionBar();

            actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
            actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
            actionBar.setCustomView(actionBarView, new ActionBar.LayoutParams
                    (ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));

            final DrawerLayout drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
            ImageView btnmenu = (ImageView) findViewById(R.id.btnmenu);

            btnmenu.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View arg0) {

                    if (drawerLayout.isDrawerOpen(Gravity.RIGHT)) {
                        drawerLayout.closeDrawer(Gravity.RIGHT);
                    } else {
                        drawerLayout.openDrawer(Gravity.RIGHT);

                    }

                }
            });
        }
    }

** ActionBar XML布局:**

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="#36abcb" >


<ImageView
android:id="@+id/btnmenu"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:padding="8dip"
android:src="@drawable/ic_drawer"
android:background="#36abcb"/>
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginRight="8dp"
android:layout_toLeftOf="@+id/btnmenu"
android:textSize="18dip" />

</RelativeLayout>

1 个答案:

答案 0 :(得分:0)

将所有活动设为CustomActionBar的子类。

ETA:他们还需要在onCreate()中调用actionbarMethod()

public class MyActivity extends CustomActionBar {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.myactivityview);
        actionbarMethod();
        // ... more code
    }

}