用于按钮的 Android 滑动抽屉
Posted
技术标签:
【中文标题】用于按钮的 Android 滑动抽屉【英文标题】:Android sliding Drawer for a button 【发布时间】:2012-11-17 08:15:22 【问题描述】:我在屏幕底部有一个布局,它有五个水平按钮,其中一个是“更多按钮”。
单击“更多按钮”时,我想打开一个带有三个按钮或文本视图的滑动抽屉:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:background="@drawable/global_bg" >
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_
android:layout_
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true" >
<ImageView
android:id="@+id/imageView4"
android:layout_
android:layout_
android:layout_weight="1"
android:src="@drawable/navicon_search" />
<ImageView
android:id="@+id/imageView9"
android:layout_
android:layout_
android:layout_weight="1"
android:src="@drawable/nav_divider" />
<ImageView
android:id="@+id/imageView5"
android:layout_
android:layout_
android:layout_weight="1"
android:src="@drawable/nav_icon_video" />
<ImageView
android:id="@+id/imageView9"
android:layout_
android:layout_
android:layout_weight="1"
android:src="@drawable/nav_divider" />
<ImageView
android:id="@+id/imageView6"
android:layout_
android:layout_
android:layout_weight="1"
android:src="@drawable/nav_icon_news" />
<ImageView
android:id="@+id/imageView9"
android:layout_
android:layout_
android:layout_weight="1"
android:src="@drawable/nav_divider" />
<ImageView
android:id="@+id/imageView7"
android:layout_
android:layout_
android:layout_weight="1"
android:src="@drawable/nav_icon_ecommerce" />
<ImageView
android:id="@+id/imageView9"
android:layout_
android:layout_
android:layout_weight="1"
android:src="@drawable/nav_divider" />
<ImageView
android:id="@+id/imgMore"
android:layout_
android:layout_
android:layout_weight="1"
android:src="@drawable/nav_icon_more" />
</LinearLayout>
<ImageView
android:id="@+id/ImageView01"
android:layout_
android:layout_
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:background="@null"
android:scaleType="fitXY"
android:src="@drawable/top_color_bar" />
<RelativeLayout
android:id="@+id/relativeLayout1"
android:layout_
android:layout_
android:layout_alignParentLeft="true"
android:layout_below="@+id/ImageView01"
android:background="@drawable/global_masthead" >
<ImageView
android:id="@+id/imgbtnBackFromResetAddTime"
android:layout_
android:layout_
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:src="@drawable/topnav_backarrow_small" />
<TextView
android:id="@+id/textView1"
android:layout_
android:layout_
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="Add Time"
android:textSize="20dp"
android:textStyle="bold" />
<ImageView
android:id="@+id/imgListOpen"
android:layout_
android:layout_
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/imageView1"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@drawable/topnav_geomap_small" />
</RelativeLayout>
点击“imgMore”后,滑动抽屉应打开,带有 3 个按钮。
请修改我的布局以适应更改。
我试过这个......
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:background="@drawable/global_bg" >
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_
android:layout_
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true" >
<ImageView
android:id="@+id/imageView4"
android:layout_
android:layout_
android:layout_weight="1"
android:src="@drawable/navicon_search" />
<ImageView
android:id="@+id/imageView9"
android:layout_
android:layout_
android:layout_weight="1"
android:src="@drawable/nav_divider" />
<ImageView
android:id="@+id/imageView5"
android:layout_
android:layout_
android:layout_weight="1"
android:src="@drawable/nav_icon_video" />
<ImageView
android:id="@+id/imageView9"
android:layout_
android:layout_
android:layout_weight="1"
android:src="@drawable/nav_divider" />
<ImageView
android:id="@+id/imageView6"
android:layout_
android:layout_
android:layout_weight="1"
android:src="@drawable/nav_icon_news" />
<ImageView
android:id="@+id/imageView9"
android:layout_
android:layout_
android:layout_weight="1"
android:src="@drawable/nav_divider" />
<ImageView
android:id="@+id/imageView7"
android:layout_
android:layout_
android:layout_weight="1"
android:src="@drawable/nav_icon_ecommerce" />
<ImageView
android:id="@+id/imageView9"
android:layout_
android:layout_
android:layout_weight="1"
android:src="@drawable/nav_divider" />
<SlidingDrawer
android:id="@+id/SlidingDrawer"
android:layout_
android:layout_
android:content="@+id/contentLayout"
android:handle="@+id/imgMore"
android:orientation="horizontal"
android:padding="10dip" >
<ImageView
android:id="@+id/imgMore"
android:layout_
android:layout_
android:layout_weight="1"
android:src="@drawable/nav_icon_more" />
<LinearLayout
android:id="@+id/contentLayout"
android:layout_
android:layout_
android:background="#cccccc"
android:gravity="center"
android:orientation="vertical"
android:padding="10dip" >
<Button
android:id="@+id/Button01"
android:layout_
android:layout_
android:layout_margin="2dp"
android:text="Option1" >
</Button>
<Button
android:id="@+id/Button02"
android:layout_
android:layout_
android:layout_margin="2dp"
android:text="Option2" >
</Button>
<Button
android:id="@+id/Button03"
android:layout_
android:layout_
android:layout_margin="2dp"
android:text="Option3" >
</Button>
<Button>
</Button>
</LinearLayout>
</SlidingDrawer>
</LinearLayout>
<ImageView
android:id="@+id/ImageView01"
android:layout_
android:layout_
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:background="@null"
android:scaleType="fitXY"
android:src="@drawable/top_color_bar" />
<RelativeLayout
android:id="@+id/relativeLayout1"
android:layout_
android:layout_
android:layout_alignParentLeft="true"
android:layout_below="@+id/ImageView01"
android:background="@drawable/global_masthead" >
<ImageView
android:id="@+id/imgbtnBackFromResetAddTime"
android:layout_
android:layout_
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:src="@drawable/topnav_backarrow_small" />
<TextView
android:id="@+id/textView1"
android:layout_
android:layout_
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="Add Time"
android:textSize="20dp"
android:textStyle="bold" />
<ImageView
android:id="@+id/imgListOpen"
android:layout_
android:layout_
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/imageView1"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@drawable/topnav_geomap_small" />
</RelativeLayout>
【问题讨论】:
【参考方案1】:请参阅this 示例将对您有所帮助。在此示例中,仅在您想添加取决于您的文本时才向您显示一个按钮,无论它是静态的还是动态的。
这只是为了指导你。
【讨论】:
这并没有达到我的目的......我希望线性对齐的其他按钮也可以滑动和隐藏,以便只有更多按钮与抽屉一起可见。 它与 facebook 滑动抽屉相同,在按钮单击时会出现一个布局并与早期布局重叠。看视频...youtube.com/watch?v=ANLMaL7zn20 请告诉我这个链接没有一些参考它就像在空中飞行 那么那个链接有什么问题?以上是关于用于按钮的 Android 滑动抽屉的主要内容,如果未能解决你的问题,请参考以下文章