2012-11-09 11 views
0

我有一個圖像在屏幕的底部。我希望點擊圖像時,垂直菜單應該打開up.I使用android api 7 。屏幕看起來像下面的圖片逐個如何垂直打開菜單圖像點擊(API-7及以上)

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

菜單

創建

enter image description here

菜單10

<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/en" android:title="English" /> <item android:id="@+id/pt" android:title="Portugess" /> <item android:id="@+id/es" android:title="Spainsh" /> </menu> 

菜單顯示,但horizo​​ntilly。請幫助我!

+0

是像購買和例子總是那裏的按鈕或它應該打開時,你點擊菜單按鈕? –

+0

@iDroid瀏覽器購買與範例圖像alwaya there.When點擊買入或例如在彈出菜單將被打開。 – mukesh

回答

1

我不知道如何在菜單使用。 但我使用Layout做了同樣的效果。我把代碼放在這可以幫助你。

您必須根據您的要求更改佈局。

activity_main.xml中

<LinearLayout 
    android:id="@+id/linearLayout1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:gravity="center_vertical|center_horizontal" 
    android:orientation="horizontal" > 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Buy" /> 

    <Button 
     android:id="@+id/btn_ex" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Example" /> 
</LinearLayout> 

<LinearLayout 
    android:id="@+id/layout_ex" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_above="@+id/linearLayout1" 
    android:layout_alignParentRight="true" 
    android:layout_marginBottom="18dp" 
    android:layout_marginRight="104dp" 
    android:gravity="bottom" 
    android:orientation="vertical" 
    android:visibility="invisible" 
    > 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Example1" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Example2" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Example3" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Example4" /> 
</LinearLayout> 

top.xml

<?xml version="1.0" encoding="utf-8"?> 
<translate xmlns:android="http://schemas.android.com/apk/res/android" 
    android:duration="2500" 
    android:fromXDelta="0%" 
    android:fromYDelta="200%" 
    android:toXDelta="0%" 
    android:toYDelta="0%" 
    android:zAdjustment="normal" /> 

MainActivity.java

public class MainActivity extends Activity implements AnimationListener { 

    private Button btn_ex; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     btn_ex = (Button) findViewById(R.id.btn_ex); 

     btn_ex.setOnClickListener(new OnClickListener() { 

      private LinearLayout layout_ex; 

      public void onClick(View v) { 

       Animation movement5; 
       layout_ex = (LinearLayout) findViewById(R.id.layout_ex); 

       layout_ex.setVisibility(View.VISIBLE); 

       // layout3.setVisibility(true); //USE THIS LINE //EDITED 

       movement5 = AnimationUtils.loadAnimation(MainActivity.this, 
         R.layout.top); 
       movement5.reset(); 
       movement5.setFillAfter(true); 
       movement5.setAnimationListener(MainActivity.this); 
       layout_ex.startAnimation(movement5); 

      } 
     }); 
    } 

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

    public void onAnimationEnd(Animation arg0) { 
     // TODO Auto-generated method stub 

    } 

    public void onAnimationRepeat(Animation arg0) { 
     // TODO Auto-generated method stub 

    } 

    public void onAnimationStart(Animation arg0) { 
     // TODO Auto-generated method stub 

    } 
} 
0

你可以做一個這樣的事,

  1. 創建一個佈局(讓說菜單佈局)按您在您的主要佈局的需要。

e.g:

<RelativeLayout ....> 
    <LinearLayout ....> // Your main layout start here 

    // your main layout 

    </LinearLayout> // Your main layout end here 

    <LinearLayout ....> 

    // Your menu layout 

    </LinearLayout> 

</RelativeLayout> 
  1. 定義ID爲菜單佈局的LinearLayout。
  2. 最初由於該菜單佈局的屬性爲android:visibility="gone"所以它在主佈局中不可見。
  3. 現在,當你點擊圖片,顯示的是菜單,垂直的動畫,只要你想。

希望這個想法可以幫助你。我之前已經完成了,所以這是可能的,你可以用這種方式實現你的目標。

評論我,如果需要任何幫助。

享受編碼。 :)