活动位于另一个

时间:2017-01-31 15:47:20

标签: android android-layout

如何创建从底部弹出并且不覆盖所有屏幕的活动,就像Nexus拨号器中的联系人详细信息一样。

screenshot

3 个答案:

答案 0 :(得分:4)

1)创建简单的活动

2)创建这样的风格:

<style name="AppTheme.Popup" parent="AppTheme.NoActionBar">
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowCloseOnTouchOutside">true</item>
</style>

3)在清单

中应用此样式

4)在弹出式活动onCreate()方法粘贴:

DisplayMetrics display = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(display);
int width = display.widthPixels;
int height = display.heightPixels;
getWindow().setLayout((int) (width * 0.9), (int) (height * 0.8));

答案 1 :(得分:0)

  

底页

Bottom Sheet是一个材质设计组件,已添加到version 23.2中的设计支持库中。底部是一个非常简单的窗口,从屏幕底部显示,可用于向用户显示更多内容。

您想要的设计太宽泛而无法回答。

Look for example here

enter image description here

答案 2 :(得分:0)

您可以使用Android BottomSheet来实现此类用户界面。方法是使用底部粘贴的对话框片段。 Follow this tutorial对于实施说明,因为提供完整的解决方案对于这个平台来说太大了。

就活动而言,我建议您阅读更多活动及其堆栈。活动为Android Components,不应仅仅为了创建UI而被滥用。引入了片段以实现更灵活的UI处理。我希望这能解决你的疑虑。