我在屏幕的底部有一个图像。我希望点击图像时,应该打开一个垂直菜单。我正在使用android api 7.屏幕看起来如下图像
由 创建的
菜单
菜单 菜单显示但是时尚。请帮助我! public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.layout.menu, menu);
return true;
}
<?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>
答案 0 :(得分:1)
我不知道如何在菜单中使用。 但是我使用布局做了同样的效果。我把代码可能对你有帮助。
您必须根据您的要求更改布局。
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
}
}
答案 1 :(得分:0)
你可以做这样的事情,
e.g:
<RelativeLayout ....>
<LinearLayout ....> // Your main layout start here
// your main layout
</LinearLayout> // Your main layout end here
<LinearLayout ....>
// Your menu layout
</LinearLayout>
</RelativeLayout>
android:visibility="gone"
因此,主布局无法看到它。希望这个想法对你有所帮助。我之前做过这样的事情是可能的,你可以用这种方式实现你的目标。
如果需要任何帮助,请给我评论。
享受编码。 :)