【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))
        }
    }
}
相关推荐
黄林晴1 小时前
重磅官宣:Android UI 开发正式进入 Compose-first 时代
android·google io
Kapaseker1 小时前
搞懂变换!精通 Compose 绘制(二)
android·kotlin
美狐美颜SDK开放平台1 小时前
美颜SDK开发详解:如何优化美颜SDK在低端安卓机上的性能?
android·ios·音视频·直播美颜sdk·视频美颜sdk
Gary Studio1 小时前
深入MTK Android BSP:如何确定编译目标与查找项目设备树
android
casual_clover2 小时前
【Android】实现状态栏背景透明,系统时间/图标直接显示在页面背景上
android·透明状态栏
blackorbird2 小时前
Android Pixel 10 零点击漏洞利用链
android
_kerneler2 小时前
[qemu+kvm] vfio-platform irq 注入过程
android
亚空间仓鼠2 小时前
Docker容器化高可用架构部署方案(十一)
android·docker·架构
我命由我123452 小时前
Android 开发问题:TextView 内容超过宽度时,默认不会换行
android·开发语言·java-ee·android studio·android jetpack·android-studio·android runtime
shandianchengzi3 小时前
【科普】安卓|安卓手机上如何简便实现Ctrl+Z(需要键盘或一台Windows电脑)
android·windows·智能手机·计算机外设·安卓·科普·记录