小编Roc*_*son的帖子

Android对话活动删除边距并在外部触摸时完成

我有一个以对话框为主题的活动,声明如下:

AndroidManifest:

<activity android:name=".DialogActivity" android:theme="@style/mydialog"></activity>
Run Code Online (Sandbox Code Playgroud)

样式:

<style name="mydialog" parent="@style/Theme.AppCompat.Light.Dialog">
    <item name="windowNoTitle">true</item>
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>
Run Code Online (Sandbox Code Playgroud)

DialogActivity的OnCreate:

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dialog);

int width = (int)(getResources().getDisplayMetrics().widthPixels*0.95);
int height = (int)(getResources().getDisplayMetrics().heightPixels*0.80);

getWindow().setLayout(width, height);

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
...
Run Code Online (Sandbox Code Playgroud)

问题是,当我触摸此图所示的红色矩形区域内部时,活动没有关闭:

在此处输入图片说明

所以我的问题是如何删除这个多余的空间,以便活动在刚好超出其实际形状时完成?

如果我触摸红色矩形外部,则活动结束正常。已经尝试过此操作,无法删除多余的空间。

android android-layout

5
推荐指数
1
解决办法
634
查看次数

标签 统计

android ×1

android-layout ×1