2011-12-26 9 views
0

次のコードを書いて、同じ単一行(行)に5つのmenuitemを作成しましたが、1行に最大3つのmenuitemが必要です。
残りのアイテムは"MORE"ボタンに設定されています。
1行に5つのアイテムを取得する方法は?5つのmenuItemが1行にあるメニューを取得するには?

@Override 
public boolean onCreateOptionsMenu(Menu menu) 
{ 
    try 
    { 
     menu.add(0, 0, 0, "Logout").setIcon(R.drawable.logout); 
     menu.add(0, 1, 1, "Refresh").setIcon(R.drawable.refresh); 
     menu.add(0, 1, 2, "Settings").setIcon(R.drawable.settings); 
     menu.add(0, 1, 3, "Singup").setIcon(R.drawable.signup); 
     menu.add(0, 1, 4, "Add").setIcon(R.drawable.add); 
    } 
    catch (Exception e) 
    { 
     e.printStackTrace(); 
    } 
    return super.onCreateOptionsMenu(menu); 
} 

答えて

-1

最後に、複数のアイテムでメニューを取得しました。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/lylMenu" 
    android:layout_width="fill_parent" 
    android:layout_height="match_parent" 
    android:gravity="bottom" 
    android:orientation="vertical" 
    android:visibility="invisible" > 

    <TextView 
     android:layout_width="fill_parent" 
     android:layout_height="1dp" 
     android:background="#ffffff" /> 

    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:background="#ffffff" 
     android:gravity="bottom|center" 
     android:orientation="horizontal" > 

    <Button 
      android:id="@+id/mnubtnExit" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginRight="1dp" 
      android:layout_weight="1.3" 
      android:background="@drawable/button_selector" 
      android:drawableTop="@drawable/icon_exit" 
      android:text="Exit" 
      android:textColor="#FFFFFF" 
      android:textSize="15sp" 
      android:textStyle="bold" /> 

     <Button 
      android:id="@+id/mnubtnRefresh" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="1dp" 
      android:layout_marginRight="1dp" 
      android:layout_weight="1" 
      android:background="@drawable/button_selector" 
      android:drawableTop="@drawable/icon_refresh" 
      android:text="Refresh" 
      android:textColor="#FFFFFF" 
      android:textSize="15sp" 
      android:textStyle="bold" /> 

     <Button 
      android:id="@+id/mnubtnExport" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginRight="1dp" 
      android:layout_weight="1" 
      android:background="@drawable/button_selector" 
      android:drawableTop="@drawable/icon_export" 
      android:text="Export" 
      android:textColor="#FFFFFF" 
      android:textSize="15sp" 
      android:textStyle="bold" /> 

     <Button 
      android:id="@+id/mnubtnDelete" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginRight="1dp" 
      android:layout_weight="0.9" 
      android:background="@drawable/button_selector" 
      android:drawableTop="@drawable/icon_delete" 
      android:text="Delete All" 
      android:textColor="#FFFFFF" 
      android:textSize="15sp" 
      android:textStyle="bold" /> 

     <Button 
      android:id="@+id/mnubtnSettings" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginRight="1dp" 
      android:layout_weight="0.9" 
      android:background="@drawable/button_selector" 
      android:drawableTop="@drawable/icon_settings" 
      android:text="Settings" 
      android:textColor="#FFFFFF" 
      android:textSize="15sp" 
      android:textStyle="bold" /> 



    </LinearLayout> 

    <TextView 
     android:layout_width="fill_parent" 
     android:layout_height="1dp" 
     android:background="#ffffff" /> 

</LinearLayout> 

menu_example.xmlファイル次

メイクには、以下の通りご希望のレイアウトファイルの一番下にあるメニューを適用します。
あなたのメニューの高さごとに下マージンを与える必要があります。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@drawable/effect_message_background" 
    android:orientation="vertical" > 

    <ScrollView 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" > 
    </ScrollView> 

    <RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="-60dip" 
     android:gravity="bottom" > 

     <include layout="@layout/menu_example" /> 
    </RelativeLayout> 

</LinearLayout> 

次のコードを上下にスライドさせて適用します。

LinearLayout lyl_Menu = = (LinearLayout)findViewById(R.id.lylMenu); 

@Override 
    public boolean onKeyDown(int keyCode, KeyEvent event) 
    { 
     try 
     { 
      if(keyCode == KeyEvent.KEYCODE_MENU) 
      { 
       //System.out.println("MENU PRESSED..........."); 
       if(lyl_Menu.isShown()) 
       { 
        goneFooter(); 
       } 
       else 
       { 
        visibleFooter(); 
       } 
      } 
      else if(keyCode == KeyEvent.KEYCODE_BACK) 
      { 
       if(lyl_Menu.isShown()) 
       { 
        goneFooter(); 
        return true; 
       } 
      } 
     } 
     catch (Exception e) 
     { 
      e.printStackTrace(); 
     } 
     return super.onKeyDown(keyCode, event); 
    } 

    public void visibleFooter() 
    { 
     if(!lyl_Menu.isShown()) 
     { 
      lyl_Menu.setVisibility(View.VISIBLE); 
      lyl_Menu.startAnimation(AnimationUtils.loadAnimation(UserData.this, R.anim.slide_up_in)); 
     } 
    } 
    public void goneFooter() 
    { 
     if(lyl_Menu.isShown()) 
     { 
      lyl_Menu.startAnimation(AnimationUtils.loadAnimation(UserData.this, R.anim.slide_up_out)); 
      lyl_Menu.setVisibility(View.INVISIBLE); 
     } 
    } 

resフォルダにanimフォルダを作成します。 RES /アニメーション プットアニメーションフォルダにアニメーションxmlファイルに次

1)slide_up_in.xml

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" > 
    <translate 
     android:duration="300" 
     android:fromYDelta="100%p" 
     android:toYDelta="0%p" /> 
</set> 

2)slide_up_out.xml

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" > 
    <translate 
     android:duration="300" 
     android:fromYDelta="0%p" 
     android:toYDelta="100%p" /> 
</set> 

厥それ。 複数のメニュー項目を1行でお楽しみください。 :)

関連する問題