自定义操作栏布局中按钮的sherlock操作项样式

时间:2013-01-22 11:14:45

标签: android android-layout actionbarsherlock

有没有办法将sherlock动作项目样式(默认触摸反馈和长按反馈和点击区域 - 宽度/高度)应用到自定义操作栏布局中的按钮?

的src / MainActivity.java

getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
getSupportActionBar().setCustomView(R.layout.actionbar_main);

RES /布局/ actionbar_main.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="wrap_content" >

    <!-- Home button -->
    <ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:layout_marginLeft="12dp"
        android:background="@drawable/ic_home"
        android:contentDescription="@string/ic_home"
        android:onClick="clickButtonHome" />

    <!-- Centered text -->
    <TextView
        android:id="@+id/add_actionbar_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="@string/title_activity_main"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <!-- Cancel button -->
    <ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:layout_marginRight="12dp"
        android:background="@drawable/ic_cancel"
        android:contentDescription="@string/ic_cancel"
        android:onClick="clickButtonHome" />

</RelativeLayout>

1 个答案:

答案 0 :(得分:3)

使用Widget.Sherlock.ActionButton作为ImageButton的样式。要实现长期点击吐司效果,您需要使用Roman Nurik的CheetSheet课程。

为了将来参考,所有ActionBarSherlock样式和主题都具有与原生样式和主题相同的命名约定,但使用'Sherlock'而不是'Holo'。例如,

  • Widget.Holo.ActionButton变为Widget.Sherlock.ActionButton
  • Theme.Holo.Light.DarkActionBar变为Theme.Sherlock.LightDarkActionBar
  • TextAppearance.Holo.Widget.ActionBar.Title变为TextAppearance.Sherlock.Widget.ActionBar.Title