繁体   English   中英

为活动创建较小尺寸的布局的最佳方法是什么

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM