我要求用户点击"查看卡"按钮,打开一个较小的活动,不覆盖整个屏幕。
我做了一些R& D并找到了实现这一目标的多种选择。
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"
我无法理解哪一个更好的方法来实现这一目标。
答案 0 :(得分:1)
实际上,取决于你是否使用活动,对话。 例如: 如果数据很短并且只需要显示/写入一些小信息,那么使用对话框。 甚至你可以尝试隐藏(视图/布局),并在点击显示隐藏(视图/布局)与一些动画,工作后隐藏。 即使你现在也可以使用底片:)
答案 1 :(得分:1)
您可以为样式中的活动创建自定义 主题,并使用自定义导航图标,例如:
<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>