[英]How to make the icon background of an Android app transparent?
PNG圖像將用作圖標前景,並且背景應完全透明。
使用Android Studio > New Image Asset > Configure Image Asset dialog
,實際上已經嘗試了非常多種背景選項,包括從路徑中完全刪除文件並刪除ic_launcher.xml
和ic_launcher_round.xml
的背景標簽。 。
在此向導中從路徑中刪除文件並從XML文件中刪除標簽幾乎可以解決問題,但是仍然有一個模糊的黑色輪廓作為背景(〜alpha = 20%)。 在查看設備啟動器上的圖標時,“背景層”的所有其他選項都會在前景圖像后留下純白色或黑色背景。
許多應用設法僅在其圖標上具有前景,因此這是可能的。 我在這里做錯了什么?
更新:感謝您的快速評論! 我嘗試了作為答案提供的兩個解決方案,結果相同。 屏幕截圖按建議上傳。
僅在向導中更新Legacy圖標是不夠的,因為這只會更改Legacy圖標的格式。 還需要更新的“自適應”圖標。 即使背景設置為完全透明的正方形png,Android Studio也會將其更改為白色。 如果完全刪除了背景文件,則向導會允許完成操作,但是Android Studio使用稍微不透明的黑色背景,如圖所示。 關於上傳的圖片,前景后面應該沒有任何東西,在這種情況下,它應該是完全灰色的,沒有任何可見的圓圈。
方法1:
如果您有png,只需將其復制並粘貼到drawable中,然后從清單中引用圖像名稱即可。
<application
android:allowBackup="true"
android:icon="@mipmap/new_image"
android:label="@string/app_name"
android:roundIcon="@mipmap/new_image"
android:supportsRtl="true"
android:theme="@style/AppTheme">
....
</application>
方法2:
轉到文件>新建>圖像資產 ,請確保選擇png圖像(具有透明背景)並將背景形狀設置為無。
首先,您有一個背景圖像來獲取透明圖標,而沒有任何背景圖像就不能使圖標透明。
如果您希望獲得透明的圖像,則只需使用一些照片編輯器即可。
獲取imageButton的視圖
View v = findViewById(R.id.myImageBtn);
從應用程序中獲取圖標,例如Chrome
pkgnam="com.android.chrome";
Intent intent1 = ctx.getPackageManager().getLaunchIntentForPackage(pgknam);
Drawable myIcon = getPackageManager().getActivityIcon(intent1);
將背景圖標設置為與前景圖標相同
v.setForeground(myIcon);
v.setBackground(myIcon);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.