2

画面下部にメニューアクションバーを表示しています。ユーザーがメニュー項目のいずれかをクリック/タッチしたときに、それを強調表示したい(つまり、ボタンクリックの強調表示が行われる方法)。onClickListenerとontouchListenerを試しましたが、強調表示されません。

誰かが私が設定したポーパティ/方法を教えてもらえますか?

これが私が使っているコードです。

@Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.landing_page_layout);

        ActionBar actionBar = getActionBar();
        actionBar.show();

// business logic }



    @Override
        public boolean onCreateOptionsMenu(Menu menu) {


            getMenuInflater().inflate(R.menu.menu_items, menu);

            item1 = menu.findItem(R.id.menu_option1);
            item1.getActionView().setOnTouchListener(new OnTouchListener() {

 // logic when user touch menu option1 touch      
 }});

ありがとうチンタン

4

1 に答える 1

0

ドキュメントのこのセクションを確認してください: http://developer.android.com/guide/topics/ui/menus.html#options-menu

メニューを設定するには、次のようにします。

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu, menu);
    return true;
}

R.menu.menu は res/menu/menu.xml ファイルを指します。これにより、そのファイルから要素がロードされます

オプション メニューは、OnClickListeners などを使用して、通常のビューと同じ方法でリッスンされます。代わりに、次onOptionsItemSelectedのようにオーバーライドします。

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle item selection
    switch (item.getItemId()) {
        case R.id.item1:
            // Do something
            return true;
        case R.id.item2:
            // Do something else
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}
于 2013-03-10T15:53:47.300 に答える