アイコンとタイトルを使用して、このタイプのサブメニューをグリッドに作成するにはどうすればよいですか。
質問する
769 次
2 に答える
0
オブジェクトに対して実行できるアクションを表示するポップアップのようなコンポーネントであるクイック アクション メニューを使用する必要があります。また、画面の特定のコンポーネントに固定されたツールチップ ポップアップなどのカスタム メッセージを表示するためにも使用できます。
QuickActionMenuを見てください。
于 2013-08-22T06:01:27.933 に答える
0
whatsappsのような独自のメニュー(添付ファイル)を作成しました
- 添付ファイルを他のレイアウトの前に表示できるように、framelayout を含む xml ファイルを作成します。xml には、添付ファイルの種類ごとにボタンが含まれています。
- アタッチボタンを追加/メニューボタンリスナーを追加(私の場合)。
- 開く/閉じるためにアタッチボタンを押すたびに変化するブール値を追加します。
例として私のコードを次に示します。
画像、名前、色を含む 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 に答える