【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))
        }
    }
}
相关推荐
潘潘潘17 分钟前
Android网络结构分析——有线网络
android
踏雪羽翼43 分钟前
Android OpenGL实现十几种美颜功能
android
Android小码家2 小时前
BootAnimation+SE+开机MP4动画播放
android·framework
加农炮手Jinx3 小时前
Flutter for OpenHarmony:pub_updater 命令行工具自动更新专家(DevOps 运维必备) 深度解析与鸿蒙适配指南
android·运维·网络·flutter·华为·harmonyos·devops
2601_957418803 小时前
告别OTG碎片化!Android MTP协议深度解析与高性能通信方案
android
故渊at3 小时前
第二板块:Android 四大组件标准化学理 | 第七篇:Activity 页面载体与任务栈算法
android·算法·生命周期·activity·任务栈
QING6184 小时前
Kotlin 协程新手指南 —— 协程上下文与调度器
android·kotlin·android jetpack
潘潘潘5 小时前
Android JAVA Socket 知识梳理
android
00后程序员张5 小时前
Jenkins 自动上传 IPA 到 App Store 把发布步骤融入 CI/CD
android·ios·小程序·https·uni-app·iphone·webview