【Android】Build Non-Fullscreen Transparent Activity

Intent

build an activity looks like a dialog, float over main activity or desktop

Create Transparent Theme
xml 复制代码
<?xml version="1.0" encoding="utf-8"?>
<resources>

    <style name="Theme.TransparentActivity" parent="Theme.Material3.Light.NoActionBar">
        <item name="android:windowBackground">@color/transparent</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowAnimationStyle">@android:style/Animation.Translucent</item>
    </style>
</resources>
Apply Transparent Theme to Activity
xml 复制代码
<activity
    android:name=".viewlocator.DialogActivity"
    android:theme="@style/Theme.TransparentActivity" />
Make Activity Non-Fullscreen
kotlin 复制代码
class DialogActivity : AppCompatActivity() {

    private lateinit var binding: ActivityHomeBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityHomeBinding.inflate(layoutInflater)
        setContentView(binding.root)
    }
  
    override fun onWindowFocusChanged(hasFocus: Boolean) {
        super.onWindowFocusChanged(hasFocus)
        if (hasFocus) {
            val lp = window.attributes
            lp.width = 500
            lp.height = 500
            lp.gravity = Gravity.CENTER
            window.attributes = lp
            window.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
        }
    }
}
相关推荐
游戏开发爱好者81 小时前
使用Fiddler设置HTTPS抓包诊断Power Query网络问题
android·ios·小程序·https·uni-app·iphone·webview
阿巴斯甜1 小时前
Lifecycle
android
fengci.2 小时前
CTF+随机困难部分
android·开发语言·网络·安全·php
阿巴斯甜2 小时前
LiveData
android
OCN_Yang2 小时前
Android 开发:XML、Flutter、Compose 怎么选?
android
꯭爿꯭巎꯭2 小时前
壁纸引擎安卓版(wallpaper engine安卓版免费下载)
android
阿巴斯甜2 小时前
viewModel
android
问心无愧05133 小时前
ctf show web 入门39
android·前端·笔记
千里马学框架3 小时前
WMS/AMS深入WindowState如何正确找到自己在层级结构树中位置进行挂载
android·wms·ai编程·性能·系统开发·车载开发·framework工程师
6666v63 小时前
深入 Android 统一状态模型:MVI 架构的核心实现
android·kotlin