我已按照以下帖子创建了自定义标签栏:
How to create a Tab-like UI in Android?
当单击中心选项卡(实际上是按钮)时,我需要在子菜单上显示一个设置。我需要弹出子菜单,如图所示(子菜单应该在我的主要布局上方):
我相信这可以通过在自定义标签栏上方放置一个附加布局来实现,其中一组按钮可以一个接一个地放置。但我不确定需要使用哪种布局以及如何在图纸中获得相同的样式。请帮我找一个解决方案。
答案 0 :(得分:1)
您只需在要打开它的按钮上方添加另一个布局,然后将其可见性设置为已经消失,直到您想要在其中设置动画。
常规的LinearLayout可以正常工作,然后添加4个按钮也可以正常工作,那么你需要确保这些按钮使用与内置的android菜单按钮相同的样式(或者自己设置样式)但是查看一些内置样式here
示例:
您的活动
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
//all your other activity layout stuff goes here
<!--add your new menu-->
<LinearLayout
android:id="@+id/my_menu_layout"
android:visibility="gone"
... />
<Button
android:id="@+id/menu_btn_1"
style="@android:style/Widget.Holo.ActionButton.TextButton" //as example of built-in style
... />
//more buttons
</LinearLayout>
然后在您的活动类中,将onClickListener分配给按钮,该按钮将切换菜单并为视图设置动画
//animation xml you make
Animation inFromBottom = AnimationUtils.loadAnimation(this, R.anim.layout_in_bottom);
mMenuLayout.startAnimation(inFromBottom);
mMenuLayout.setVisibility(View.VISIBLE);
现在您的视图将会生成动画,您可以将onClick侦听器添加到按钮