首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android :点击按钮显示屏幕底部的布局

Android :点击按钮显示屏幕底部的布局
EN

Stack Overflow用户
提问于 2016-03-23 09:27:39
回答 4查看 13K关注 0票数 8

最近,我从一个名为胡桃的商店安装了一个应用程序,我在那里看到了popup.In的一个新功能--主屏幕上有一个FloatingActionMenu,当单击菜单按钮时,它会随着菜单上的项目展开,在扩展的菜单上有一个添加帐户的选项,在单击该选项时,弹出窗口将从屏幕底部弹出到一定高度。我喜欢知道从screen.Is底部弹出的功能是什么--它真的是一个弹出或滑动的抽屉?我想使用完全相同的功能,在我的安卓application.If,任何人都知道这个功能,请帮助me.Below是这个弹出式布局的屏幕截图,按钮点击在核桃应用程序。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-03-23 09:45:55

您可以使用带有自定义布局的对话框。您唯一需要做的就是从底部调用它,并使用样式作为这样的材料对话框。

代码语言:javascript
复制
 final Dialog mBottomSheetDialog = new Dialog(getActivity(), R.style.MaterialDialogSheet);
                            mBottomSheetDialog.setContentView(view); // your custom view.
                            mBottomSheetDialog.setCancelable(true);
                            mBottomSheetDialog.getWindow().setLayout(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
                            mBottomSheetDialog.getWindow().setGravity(Gravity.BOTTOM);
                            mBottomSheetDialog.show();

我将布局高度改为800,而不是包装内容,结果如下。

style.xml

代码语言:javascript
复制
<style name="MaterialDialogSheet" parent="@android:style/Theme.Dialog">
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:backgroundDimEnabled">true</item>
        <item name="android:windowIsFloating">false</item>
        <item name="android:windowAnimationStyle">@style/MaterialDialogSheetAnimation</item>
    </style>



<style name="MaterialDialogSheetAnimation">
        <item name="android:windowEnterAnimation">@anim/popup_show</item>
        <item name="android:windowExitAnimation">@anim/popup_hide</item>
    </style>

anim

popup_show.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:fromYDelta="100%p"
        android:toYDelta="0"
        android:duration="300"
        android:interpolator="@android:anim/accelerate_decelerate_interpolator"/>
</set>

popup_hide.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:fromYDelta="0"
        android:toYDelta="100%p"
        android:duration="300"
        android:interpolator="@android:anim/accelerate_decelerate_interpolator"/>
</set>

票数 12
EN

Stack Overflow用户

发布于 2016-03-23 09:44:49

你可以和BottomSheetLayout一起去。

https://github.com/Flipboard/bottomsheet

票数 3
EN

Stack Overflow用户

发布于 2016-03-23 09:48:30

您所拥有的是一个自定义视图;因此,尝试使用SnackBar会带来太多麻烦。但是,使用BottomSheet(https://github.com/Flipboard/bottomsheet)可以更容易地实现这一点。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36174251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档