android圖標背景
A. Android 12適配-行為變更:所有應用
簡單講,就是從Android 12開始,所有的App在每次啟動時(特指冷啟動與溫啟動),系統都會為我們加上一個默認的啟動畫面,如下所示:
該啟動畫面主要由以下4個元素組成,分別為:
(1) 應用圖標 :可以是靜態或動畫形式。默認情況下,使用Launcher圖標。
(2) 圖標背景 :可選,在圖標與窗口背景之間需要更高的對比度時很有用。
(3) 前景遮罩 :可選,前景的 ⅓ 將被遮蓋。
(4) 窗口背景 :不透明的單色,默認是所設置主題的windowBackground。
雖然這個啟動畫面允許我們一定程度的自定義,但總體都無法跳脫出以上4個元素,且 無法去除 。如果不做任何處理,加上我們原有的閃屏頁和廣告頁,視覺上會有 多個啟動畫面 。
方案1(懶人專用): 設置除窗口背景之外的元素都為透明
處理後的效果就是,在啟動時會先顯示由所設置主題的windowBackground指定的純色背景,即與大多數開發者之前為了解決啟動黑屏/白屏問題所採用的方法一致。
方案2(常規做法): 改用SplashScreen API定製系統啟動畫面
缺點就是可定製程度低,可能無法滿足產品的需求;
如果總體的效果可以接受,那麼接下來要處理的就是對原有閃屏頁的取捨,以及與原有廣告頁的畫面銜接了。
但如開頭所言,我們的目標是 將改動最小化 ,那麼,原有閃屏頁該幹嘛還是讓它幹嘛,初始化也好,路由也罷,邏輯不變,要求只是不再顯示而已。
具體做法如下:
簡單講,就是從Android 12開始,用戶可以通過狀態欄下拉菜單中兩個新增的切換開關選項,一鍵啟用/停用攝像頭和麥克風使用許可權。
請注意,這里的「使用許可權」針對的是設備上的所有App,是全局的,不要和Android 6.0的「運行時權啟耐限」混淆。
而兩者在具體表現上也有所不同,在實際操作中:
盡管官網上提供了檢查設備是否支持麥克風和攝像頭切換開關的API,也就是檢查狀態欄下拉菜單是否有這兩個開關選項,然而這棗旁歲對於我們實際的適配工作幾乎沒有什麼卵用:
SensorPrivacyManager類倒是有提供檢查指定切換開關是否開啟的API,但由於是系統許可權,因此即使是通過反射形式也無法調用:
所幸的是,如果用戶主動關閉了攝像頭或麥克風的使用許可權,那麼當下次App再需要啟動攝像頭或麥克風時,系統就會提醒用戶,相關硬體的使用許可權已關閉,並申請重新開啟:
因此,對於此行為變更的適配,我們要做的,就是驗證在用戶主動關閉了攝像頭或麥克風使用許可權後,App的相關功能是否受影響,至於監聽/提示/重新開啟的工作則交給系統幫我們完成即可。
做過定位功能的Android開發者都知道,Android提供了兩種不同精確度的位置許可權凳睜,分別是:
而在以Android 12為目標平台的App上,當App嘗試請求ACCESS_FINE_LOCATION許可權時,系統許可權對話框會提供兩個選項,即允許App獲取確切位置,還是僅允許獲取大致位置。
並且如果您的應用請求 ACCESS_FINE_LOCATION運行時許可權,您還應請求 ACCESS_COARSE_LOCATION 許可權,以便處理用戶授予應用大致位置訪問許可權的情形。您應該在單個運行時請求中包含這兩項許可權。
也即是說,給了用戶拒絕提供確切位置的權力,一旦用戶拒絕,這種情況下App就只能獲取到大致位置了。
雖然用戶可能拒絕提供確切位置,但我們依舊可以再次請求升級到確切位置:
當然,在再次請求前提供一個適當的解釋說明是一個比較好的做法,App本身也要做好只能獲取到大致位置時的業務降級處理。
還有許多的行為變更,以上我只選了幾條重要的,其他變更及更詳細的文檔可以參見:
Android 12行為變更:所有應用
以上只是針對在 Android 12 上運行的所有應用應為變更,此外,請務必查看:
Android 12適配-行為變更:以 Android 12 為目標平台的應用
Android 12行為變更:所有應用
B. 怎樣將android控制項背景設置成透明
1、打開安卓的配置文件。
2、只需要在配置文件中把需要設置為透明的activity的樣式設置為android:theme="@android:style/Theme.Translucent"
3、這樣就可以把背景設置為透明。
C. 為什麼許多Android應用的圖標都加了個邊框和底色
這是默認主題下,默認添加的背景板,這個應用的圖標應為沒有達到默認的大小,所以固定添加。現在MIUI有了完美圖標計劃,可以做到像優酷這樣沒有背景框的圖標。android為了統一做出了很多犧牲,不過像原生android,sony這樣的OS就沒有,還是要看每個ROM的默認設置的。
D. android設置背景圖片
教你如何設置背景圖片
xml文件設置背景圖片中:
任意一個控制項,button imageView 或layout,在其的xml屬性設置中,添加
[java] view plain
android:background="@drawable/bg"
即可實現設置其背景圖片為bg.
其中bg.bnp圖片存放在drawable目錄下。
drawable目錄下存放大小圖標共用的圖片。drawable-hdpi中存放240 WVGA800 的模擬器或板子用的圖片。drawable-mdpi存放對應的小圖片
[java] view plain
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/pic"/>
同樣,用src屬性,也可設置imageView的圖片為pic.png
java代碼中設置或更改一個控制項的背景圖片:
[java] view plain
Resources resources = getContext().getResources();
Drawable btnDrawable = resources.getDrawable(R.drawable.layout_bg);
layout.setBackgroundDrawable(btnDrawable);
程序中,動態修改layout的背景圖片,用setBackgroundDrawable()函數實現。設置其背景圖片為 layout_bg.png
修改imageView1的背景圖片為imageView2的背景圖片:
imageView2.getDrawable()可獲得圖片2的背景。值為Drawable類型
imageView1.setImageDrawable(drawable); 設置imageView1的背景圖片
即:
[java] view plain
imageView1.setImageDrawable(imageView2.getDrawable());
E. 安卓開發,圖標背景顏色怎麼更換
android應用圖標背景的替換方法為:
1、:項目下面—res文件夾—drawable-hdpi/drawable-ldpi/drawable-mdpi等文件夾下就是圖標(解析度不同所以幾個文件都是hdpi是高解析度,ldpi是中等解析度,mdpi是低解析度,項目建立的時候有選擇)
2、然後在Manifest文件裡面,指定的icon就是
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher" //這個就是指定icon的代碼,不需要修改或者改成想要的文件的名字,記住圖片的後綴為png
android:label="@string/app_name"
即可。