2

アイコンとタイトルを使用して、このタイプのサブメニューをグリッドに作成するにはどうすればよいですか。

ここに画像の説明を入力

4

2 に答える 2

0

オブジェクトに対して実行できるアクションを表示するポップアップのようなコンポーネントであるクイック アクション メニューを使用する必要があります。また、画面の特定のコンポーネントに固定されたツールチップ ポップアップなどのカスタム メッセージを表示するためにも使用できます。

QuickActionMenuを見てください。

QuickAction チュートリアル

于 2013-08-22T06:01:27.933 に答える
0

whatsappsのような独自のメニュー(添付ファイル)を作成しました

  1. 添付ファイルを他のレイアウトの前に表示できるように、framelayout を含む xml ファイルを作成します。xml には、添付ファイルの種類ごとにボタンが含まれています。
  2. アタッチボタンを追加/メニューボタンリスナーを追加(私の場合)。
  3. 開く/閉じるためにアタッチボタンを押すたびに変化するブール値を追加します。

例として私のコードを次に示します。

画像、名前、色を含む XML ファイル:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/FrameLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <LinearLayout
        android:layout_width="263dp"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:background="#464646"
        android:layout_marginRight="10dp"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/button4"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_margin="1dp"
                android:layout_weight="1"
                android:background="#303030"
                android:drawableTop="@drawable/attach_gallery"
                android:text="Gallery"
                android:textColor="#ffffff" />

            <Button
                android:id="@+id/button5"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_margin="1dp"
                android:layout_weight="1"
                android:background="#303030"
                android:drawableTop="@drawable/attach_camera_picture"
                android:text="Photo"
                android:textColor="#ffffff" />

            <Button
                android:id="@+id/button6"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_margin="1dp"
                android:layout_weight="1"
                android:background="#303030"
                android:drawableTop="@drawable/attach_camera_video"
                android:text="Video"
                android:textColor="#ffffff" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/button3"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_margin="1dp"
                android:layout_weight="1"
                android:background="#303030"
                android:drawableTop="@drawable/attach_voice"
                android:text="Audio"
                android:textColor="#ffffff" />

            <Button
                android:id="@+id/button2"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_margin="1dp"
                android:layout_weight="1"
                android:background="#303030"
                android:drawableTop="@drawable/attach_location"
                android:text="Location"
                android:textColor="#ffffff" />

            <Button
                android:id="@+id/button1"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_margin="1dp"
                android:layout_weight="1"
                android:background="#303030"
                android:drawableTop="@drawable/attach_contacts"
                android:text="Contact"
                android:textColor="#ffffff" />
        </LinearLayout>
    </LinearLayout>

</FrameLayout>

マイ アクティビティ:

// attachment layout appear only on menu click
        attachLayout = (LinearLayout) findViewById(R.id.attachLayout);
        attachLayout.setVisibility(View.GONE);

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        super.onCreateOptionsMenu(menu);
        getMenuInflater().inflate(R.menu.attach_menu, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        if (isAttachGridVisible)
            attachLayout.setVisibility(View.INVISIBLE);
        else{
            attachLayout.setVisibility(View.VISIBLE);
        }
        isAttachGridVisible = !isAttachGridVisible;

        return super.onOptionsItemSelected(item);
    }

isAttachGridVisible はブール値です。

attach_menu xml メニュー ファイル:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/attachments"
        android:icon="@drawable/attachwhatsapp"
        android:orderInCategory="11111"
        android:showAsAction="always"
        android:title="">

    </item>
</menu>

幸運を

于 2014-10-21T12:17:53.077 に答える