2

Sherlock ActionBar に追加のアクションを設定するには、カスタム ビューを作成する必要がありました。xml は次のとおりです。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="right"
    android:orientation="horizontal" >

    <ImageButton
        android:id="@+id/edit"
        style="@style/Widget.Sherlock.ActionButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_edit" />

</LinearLayout>

コードは次のとおりです。

LayoutParams lp = new LayoutParams(LayoutParams.WRAP_CONTENT,
            LayoutParams.WRAP_CONTENT, Gravity.RIGHT
                    | Gravity.CENTER_VERTICAL);

ActionBar actionbar = getSherlockActivity().getSupportActionBar();

actionbar.setCustomView(getSherlockActivity().getLayoutInflater()
            .inflate(R.layout.top_sample_detail, null), lp);
actionbar.setDisplayOptions(ActionBar.DISPLAY_HOME_AS_UP
            | ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_SHOW_CUSTOM
            | ActionBar.DISPLAY_SHOW_TITLE);

editをターゲットにすることでボタンを簡単に見つけることができますactionbar.getCustomView().findViewById(R.id.edit)が、それは問題ではありません。非カスタム ビューのアクションの場合と同じように、長いクリック後にトーストにボタンの名前を表示するデフォルトの自動方法があるかどうかを知りたいです。

tl;dr

要約すると、 に設定できる属性/メソッド/プロパティはありますか? アクションImageButtonアイテムとして動作させ、長いクリックで を表示するために、アクション アイテムとToast同じようにしますか?

4

2 に答える 2