gpt4 book ai didi

android - 如何为 Activity 的半透明背景添加圆角?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:58:59 26 4
gpt4 key购买 nike

我有一个简单的 Activity,我想要一个圆角矩形。该 Activity 使用半透明的 Drawable。我已经看到其他开发人员的弹出窗口是半透明的(不是对话框主题),带有圆角,我正在尝试复制它。任何帮助将不胜感激。

这是我目前拥有的代码,可在屏幕中间生成一个矩形半透明窗口。

<style name="Theme.TranslucentDialog">
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:windowIsTranslucent">true</item>
<!-- Note that we use the base animation style here (that is no
animations) because we really have no idea how this kind of
activity will be used. -->
<item name="android:windowBackground">@drawable/translucent_background</item>
<item name="android:windowNoTitle">true</item>
<item name="android:colorForeground">#fff</item>
<item name="android:windowIsFloating">true</item>
<item name="android:backgroundDimEnabled">false</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Translucent</item>
</style>

<drawable name="translucent_background">#60000000</drawable>

最佳答案

我无法通过在代码中生成自定义形状来做到这一点。我必须通过创建自己的 9-Patch png 文件来完成此操作。这是我创建的最终主题:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme" parent="android:Theme">
</style>

<style name="Theme.TranslucentDialog">
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowNoTitle">true</item>
<item name="android:colorForeground">#ffffff</item>
<item name="android:windowIsFloating">true</item>
<item name="android:backgroundDimEnabled">false</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Translucent</item>
<item name="android:windowBackground">@drawable/notification_panel</item>
</style>

</resources>

请注意这一行:

<item name="android:windowBackground">@drawable/notification_panel</item>

这是将 Activity 背景设置为我创建的 9-Patch 图像的行。这个图像可以是任何东西,一个图像,一个 9-patch 或一个自定义的形状。我使用了 9-Patch,这样我就可以拥有漂亮的边框和圆角,同时保留一个非常半透明的 Activity 窗口(显示它后面的所有内容,但在 Activity 窗口所在的位置留下漂亮的灰色调)。

9 补丁 notification_panel.9.png 位于我的可绘制文件夹中。起初我有点不敢创建自己的 9 补丁图像,但事实证明,通过使用 Inkscape 和 android draw9patch.bat 实用程序,我能够做到这一点并获得令人满意的结果。

如果有人有任何问题,请告诉我。

关于android - 如何为 Activity 的半透明背景添加圆角?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6101623/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com