[英]What is the best way to create smaller size layout for an activity
我有一个要求,当用户单击“查看卡”按钮时,请打开一个较小的活动,该活动不会覆盖整个屏幕。
我做了一些研发工作,并找到了实现这一目标的多种选择。
1-创建一个布局文件,然后在您的活动中创建一个自定义对话框,如下所示。
//OnClickListener
Dialog dialog = new Dialog(main.this);
dialog.setContentView(R.layout.maindialog);
dialog.setTitle("This is my custom dialog box");
dialog.setCancelable(true);
//this can have buttons and other stuff
2-创建Dialog Fragment
3-创建一个新的活动,并在清单中添加以下行
android:theme="@android:style/Theme.Translucent"
我无法理解哪种方法可以更好地实现这一目标。
实际上,是否使用活动,对话取决于您。 例如:如果数据短而只需要显示/编写一些小信息,则使用对话框。 甚至您也可以尝试隐藏(视图/布局),并在单击后显示带有某些动画的隐藏(视图/布局),然后隐藏工作。 即使您现在也可以使用底纸:)
您可以使用各种样式为您的活动创建一个自定义 主题 ,并带有一个自定义导航图标,例如:
<style name="DialogTheme" parent="Theme.AppCompat.Light.Dialog">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="navigationIcon">@drawable/ic_clear_white_24dp</item>
</style>
然后,您可以在清单中将该主题添加到您的活动中:
<activity
android:name=".YourActivityName"
android:theme="@style/DialogTheme" />
此时,您将有一个基于Dialog的带有自定义主题的活动。 如果要将宽度和高度自定义值放在根布局中,可以执行以下操作:
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="300dp"
android:layout_height="300dp"/>
<!-- Your activity content... -->
</FrameLayout>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.