如何为活动创建自定义操作栏

时间:2015-05-12 12:53:06

标签: android android-actionbar

在我需要自定义操作栏的应用程序上尝试appcompat_v7 但对我来说没有任何想法。

我的代码是

private class ExampleAction extends AbstractAction {

        public ExampleAction() {
            super(R.drawable.ic_title_export_default);
        }

        @Override
        public void performAction(View view) {
            Toast.makeText(OtherActivity.this, "Example action",
                    Toast.LENGTH_SHORT).show();
        }

    }
    //use for signle action how to use for multiactions

如何调用任何视图调用操作栏

4 个答案:

答案 0 :(得分:0)

这个问题已经解决了,就像这样试试这个link希望它可以帮到你

private class ExampleAction extends AbstractAction {

        public ExampleAction() {
            super(R.drawable.ic_title_export_default);
        }

        @Override
        public void performAction(View view) {
            Toast.makeText(OtherActivity.this, "Example action",
                    Toast.LENGTH_SHORT).show();
        }

    }
    //use for signle action how to use for multiactions
       ActionBar actionBar = (ActionBar) findViewById(R.id.actionbar);
       actionBar.addAction(new ExampleAction());

答案 1 :(得分:0)

我认为您需要使用Android的工具栏,它取代了Android 5.0中引入的ActionBar,并且还具有向后兼容性。请查看以下链接。

https://developer.android.com/reference/android/widget/Toolbar.html

http://javatechig.com/android/android-lollipop-toolbar-example

http://blog.xamarin.com/android-tips-hello-material-design-v7-appcompat/

答案 2 :(得分:0)

您可以像这样设计自定义actionBar:

ActionBar actionBar = getSupportActionBar();
    actionBar.setDisplayShowCustomEnabled(true);
    actionBar.setDisplayShowTitleEnabled(false);
    actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#2B1C27")));

    LayoutInflater inflater = LayoutInflater.from(this);
    View v = inflater.inflate(R.layout.titleview_2, null);

    TextView actionbar_title = (TextView)v.findViewById(R.id.actionbar_title);
    actionbar_title.setTypeface(youcanset your font here also.);

    actionBar.setCustomView(v);

并在xml文件中尝试这样的事情:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:id="@+id/actionBar"
android:paddingTop="7dp"
android:orientation="horizontal"
android:background="#9B66AB">

<TextView
    android:id="@+id/actionbar_title"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal|center_vertical"
    android:gravity="center_horizontal|center_vertical"
    android:padding="8dp"
    android:text="@string/appTitle"
    android:textSize="20sp"
    android:textColor="#FFFFFF"
    android:layout_centerVertical="true"
    android:layout_toEndOf="@+id/imageView"
    android:layout_toRightOf="@+id/imageView" />

<ImageView
    android:layout_width="40dp"
    android:layout_height="wrap_content"
    android:id="@+id/imageView"
    android:background="@mipmap/logo"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_alignBottom="@+id/actionbar_title" />

希望它有帮助...:)

答案 3 :(得分:0)

我建议您使用工具栏自定义操作栏,看看这些链接。 this tutorial 1 tutorial 2 这是一个简单的Project