亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

(空布局透明activity)

標簽:
Kotlin

(前方kotlin高能,java,kotlin混编的习惯了)
我们在写安卓的过程中经常会遇到想用空的activity的场景,比如需要一个透明的申请权限的activity,比如需要使用接受照相的返回结果的activity,总之只要是需要使用到activity回调的地方,代码就没办法抽取,自然就会想到写个透明的作为共用的抽取。


然后我们就会遇到
You need to use a Theme.AppCompat theme (or descendant) with this activity.

webp

You need to use a Theme.AppCompat theme (or descendant) with this activity.


webp

图片2.jpg

<center>what the fuck!</center>

要知道我们在很久远的eclipse年代activity是随便透明的,现在居然会有这种问题,然后我很果断的看了下别人写的代码是怎么做的透明activity的。

然后我看了下他的style

    <style name="Transparent" >
        <item name="android:windowActionBar">false</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowDisablePreview">true</item>
        <item name="android:windowIsTranslucent">true</item>
    </style>

复制过来设置到manifest里面的activity上,然后依然是

webp

You need to use a Theme.AppCompat theme (or descendant) with this activity.


然后我想到一个东西如上图报错的地方全部都是support v7包里面的东西包括那个AppCompatActivity。然后我顺着找到了v7包里面的这行代码。

webp

suppot v7抛错代码.png


原来是你这个玩意在坑我,我得activity里面重写的也就两个方法一个onCreate一个onActivityResult。好久没有使用原始的Activity了果断的把继承改成了这个。


webp

继承关系修改.png


(以上是kotlin代码,java的将就着看一样的意思意思意思)
运行一次通过,mmp之前老板还让我写个布局在上面免得空白的不友好,这下彻底解决了。

第二种方法

然后我在群里听到一个大佬<font color="red">android技术官_sNajdan</font>跟我说,你怎么弄的这么麻烦,然后给我展示了他是怎么弄的。


webp

第二种方法.png


只需要一行代码
kotlin:

setContentView(View(this))

java

setContentView(new View(this));

继承可以用AppCompatActivity然后style也不用写,运行了下果然通过了。
只需要一行代码就实现了透明activity还可以用AppCompatActivity……



作者:171Arios
链接:https://www.jianshu.com/p/4125080349df


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消