❶ android的界面布局方式有哪些
View的布局顯示方式有下面幾種:線性布局(Linear Layout)、相對布局(Relative Layout)、表格布局(Table Layout)、網格視圖(Grid View)、標簽布局(Tab Layout)、列表視圖(List View)、絕對布局(AbsoluteLayout)
❷ Android有哪些主要界面布局方式
五大布局: 用的較多的是線性布局,相對布局和表格布局
線性布局(LinearLayout):按照垂直或者水平方向布局的組件。
幀布局(FrameLayout):組件從屏幕左上方布局組件。
表格布局(TableLayout):按照行列方式布局組件。
相對布局(RelativeLayout):相對其它組件的布局方式。
絕對布局(AbsoluteLayout):按照絕對坐標來布局組件。
❸ Android設備的界面適配設計
Android設備App設計中有一個問題可能會被設計師忽略,在各種解析度各種明飢尺寸「雜屏」的界面適配。可能產出的界面稿在常用的720*1280的解析度中是完美,但一到各個不同解析度不同尺寸的設備後
這里就談談適配,了解適配讓設計從PS、sketch到移動設備上都能完美呈現。
如此繁雜的安卓設備,採用哪個標准設計呢?
1.選擇一種尺寸一種解析度作為基準。
2.選擇2-3款主流的Android設備,制定一套適配規則。(國內主流設備、解析度可參考友盟指數)
3.部分極端效果特別注釋說明。
目前移動端設計師多採用iPhone 5與6的解析度設計,這兩個解析度也最接近Android xhdpi的720*1280,設計之後再做等比適配(不做設計元素等比適配會導致Android設備上視覺呈現較小)。
我則傾向於選取720*1280的解析度設計。優點是處於常用解析度的中間值,對小解析度大解析度調整也較容易。另外iOS@1x的320與720剛好是2.25的倍率關系,使用sketch等比輸出快捷多了。(如果時間成本允許的話可以將Android的標注單位用dp,具體的設備尺寸、解析度知識這里不詳描述,可見文章最後面的「Android基礎知識」)
案例說明:
雅虎新聞為各個dpi做了優化,圖片等比縮放,文字區域等比縮放,並且考慮到在低dpi下會被推移至第二屏,就減小圖片了高度,保持文字區域最小高度。
老司機都不會忘記的,僅提醒下新手,每個圖標記得輸出多個比例。並且記得查看各個比例下圖標的顯示效果。
案例說明:
還是拿一個雅虎新聞的例子,大家感受下。
Android設備的系統各個廠商都做了定製化,默認的字體庫可能不同,且字體占空間大小可能不同。不同設備顯示文字會出現不同效果。設計時考慮3點:
多採用流式布局,不對單行做字數限制(如「單行顯示多少個字」「文本寬度多少」),而是定義文本容器的高寬,超出則用「…」「漸隱」或者「遮擋」等方式省略。
若較長的文本需要完整顯示,設計時預留換行空間。
若文本需要在單行完整顯示(如提示類文字),盡量控制字數(建議16字內),避免小屏不夠放置。
案例說明:
圖文混排同一行顯示時,圖片等比固定在右側顯示,文字部分區域寬度會因設備不同出現較大的差異,預留文字多行高度。如下圖不同設備下文字的展示空間有差異,需要考慮小解析度下預留多行文字空間。如圖2第二條新聞標題文字溢出的醜陋展示,建議設定一個文字區域最大高度,超出部分則隱藏。
單行出現多個文字元素時,注意元素在低dpi下的顯示層級,提前說明好該情況的清激覆蓋或者隱藏規則。如下圖第一個用戶名稱,在低dpi下,避免各元素交錯,而省略了超出的用戶名稱。
圖片常用的方式有固定寬度dp等比縮放高度(用於非通欄圖片);固定高度dp等比縮放寬度(用於橫向滾動圖片,如全屏相冊中的縱向圖片);根據屏幕寬度等比縮放(橫向通欄圖片)。設計時考慮3點:
注意圖片佔用的寬高比,避免大屏設備上占據大量空間,導致內容比例不協調同時降低了屏幕利用率。
考慮到設備屏幕密度不同,輸出圖片時別忘了輸出多個解析度。
考慮圖片寬高比過大的縮略圖處理(最常見的處理方式:高度遠大於寬度時,是給出最大區域,讓圖片等寬居中填充該區域,只顯示該區域;寬度遠大於高度時,與展示區域等高居中取部分顯示。當然也可能出現特殊顯示要求,需要根據具體情況具體處理。)
案例說明:激正返
網易游戲相冊的全屏瀏覽中,大於設備寬高比的寬圖按照最大寬度放置,小於設備寬高比的高度按照最大高度放置。
一行多張圖片要考慮圖片的在不同設備下等比縮放帶來顯示效果的差異。排列時會有兩種情況:
1.要求在一行內顯示完,根據圖片的顯示效果決定放置的數量,超過則不顯示(如下圖1第二條新聞)
2.流式布局,當圖片寬度小於設定值時自動換行(如下圖2相冊展示,低dpi低解析度設備一行顯示3張,高的顯示4-5張,且按比例撐滿屏幕寬度)。
寬高比超出設計區域時的處理,如網路貼吧中列表的小圖模式,給出了正方形區域,當圖片非正方形時,根據寬高中的短邊等比撐滿正方形區域後,截取了圖片居中的部分顯示。
在固定區域內多元素混合放置時,文字一般採取流式布局,圖片多採用等比縮放,圖標元素多採用 彈性布局,即元素內容本身規格不變,考慮水平、垂直方向的間距做相應擴展。設備屏幕越大,在擴展方向上可以顯示更多內容,發揮了大屏幕的優勢。
彈性布局需要給出哪一個元素dp不變,哪一個元素縮放的策略。
彈性布局下部分距離標注採用百分比標注。
當有兩個等比縮放元素時考慮避免重疊的情況。
案例說明:
網易游戲的新聞列表樣式,每一條新聞區域,要求圖片dp不變,而文字區域進行彈性縮放。
下圖網易游戲專區中間的幽靈按鈕圖標為確保點按效果,按照固定dp顯示,中間間隔的寬度按照設備寬度的百分比來確定
網易游戲求交往的界面,中間卡片區域大小根據設備等比縮放,如中間用戶頭像與「同喜歡2款游戲」的文字,在設計時需要考慮產品的目標設備中最小設備下的布局顯示效果,避免出現重疊的情況。而縱向的元素數量也需要如此考慮。
Android界面適配的案例說明就寫到這里啦。
設計時多考慮各個元素(圖標、文本、圖片、區域)在不同設備的情況。當然,做設計時也不是死板的按照建議來實現,特別是固定區域下的元素放置,根據實際情況來處理即可。
Android系統的UI也在不斷進化完善,隨著設計趨勢的改變,Android除了常見的卡片、列表、浮層外,可能會有更多的展示方式,而Android設備也是逐漸淘汰ldpi與mdpi,設備的解析度逐漸變大。也就要求我們需要不斷的去了解嘗試新的設計趨勢,產出最好的方案。
這不是彩蛋哈,僅僅補充安卓設備的基礎知識,老司機完全可以忽略,供新手參考閱讀。
為展示設備的多樣化,貼出Android屏幕尺寸示意圖(藍色矩形的大小代表不同尺寸,顏色深淺則代表所佔百分比的大小。)
屏幕大小以屏幕尺寸來衡量,指屏幕的對角線的長度,單位是英寸,1英寸=2.54厘米
目前的主流尺寸:5.0" ~ 5.5" (有繼續往更大尺寸發展的趨勢,但趨於穩定)
常見的設備尺寸: 4" ~ 10" 。
手機適配參考尺寸: 4" ~ 6"
手機 + 平板適配參考尺寸: 4" ~ 10」
屏幕解析度是指在橫縱向上的像素點數,單位是px,1px=1個像素點。一般以縱向像素*橫向像素,如1960*1080。
屏幕像素密度是指每英寸上的像素點數,單位是dpi,即「dot per inch」的縮寫。目前每個屏幕像素可以認為就是一個「點」。
屏幕 dpi 的計算方式:
Android 設備中 dpi 分幾個段:
•ldpi:~ 120 dpi (幾乎絕跡)
•mdpi:~ 160 dpi (罕見)
•hdpi:~ 240 dpi (逐漸減少中)
•xhdpi:~ 320 dpi
•xxhdpi:~ 480 dpi
•xxxhdpi:~ 640dpi (目前較少)
dp(與 dip 同義) 是在 160dpi 下每個像素對應的物理尺寸,可近似理解為:
•160 dp = 1 inch
•1 dp = 1 / 160 inch = 0.15875 mm
•1 dp = 1 px (160 dpi 屏幕下)
•1 dp = 2 px (320 dpi 屏幕下)
Android的屏幕適配指標都基於物理尺寸(即屏幕的物理大小),而非像素(解析度)。為什麼呢?這里根據dp與px適配出兩種效果來說明。
按 dp 適配不同屏幕的效果如下,內容的物理尺寸變化不大:
若直接按照像素適配,出現以下情況,高像素密度的設備內容顯得特別小,影響布局與可用性:
屏幕長邊和短邊的比例。
目前手持設備的 長邊 dpi 和 短邊 dpi 普遍非常接近,可認為屏幕比例和屏幕水平、垂直像素比例一致
屏幕比例目前趨於 16:9 ~ 16:10 (8:5)
因不少設備使用了虛擬按鍵,所以通常非全屏的 app 可用面積略低,屏幕比例更接近 16:10
❹ 如何設計android4.4規范的像素1080x1920的界面
1、尺寸以及解析度:Android的界面尺寸比較流行的有:480*800、720*1280、1080*1920,我們在做設計圖的時候建議是以480*800的尺寸為標准;2、界面基本組成元素:界面基本組成元素包括:狀態欄+導航欄+主菜單欄+內容區域;以480*800的尺寸為標准下的各個元素的高度(其實導航欄和菜單欄每一個應用都或許不一樣,android對於尺寸沒有太明確的數據規范)如下:3、字體:Android系統中,DroidSans是默認字體,與微軟雅黑很像;4、操作欄:1、」操作欄」對於Android應用來說是最重要的設計元素,它通常在應用運行的所有時間都呆在屏幕頂部;2、操作欄的基本布局:1向上+2Spinner視圖控制+3重要操作按鈕+4操作:其中,向上按鈕,點擊後是去到當前界面的上一個層級,非第一層級界面有此按鈕,第一層級界面則無向上按鈕;Spinner是用於展示內容的下拉菜單,其內容包括視圖的快速切換和顯示相關內容的完整信息;操作(actionoverflow)是集合操作欄中不常用的和非重要操作的地方。5、多面板布局:多面板布局的是針對平板電腦,把手機端的目錄視圖和詳情視圖兩個層級的界面,甚至的頁面,復合展示在同一個界面中,有效地利用平板電腦的屏幕空間,扁平化層級結構,簡化導航。這點在iPad上已經運用得相當嫻熟了。6、選擇:Android4.0中的長按與Android2.3及更早期的版本有很大的不同。早期版本長按操作後,是出現情境菜單的浮出層。在Android4.0中,長按後在操作欄的位置會覆蓋一個臨時的情境操作欄,不再彈出情境菜單浮出層。在臨時情境操作欄的環境下,當前界面的內容項允許被單個處理,也允許被批量處理。7、返回和向上:返回按鍵用在手機全局的虛擬導航欄中,基於用戶最近查看的界面歷史,採用時間倒序的方式,連接界面間的關系。向上按鈕用在操作欄的左側,基於層級結構,點擊後是去到當前界面的上一個層級,若當前界面已經是最高一級,則沒有向上按鈕。8、主題樣式:推出三套默認主題:Holo淺色主題、Holo深色主題、Holo淺色底+深色操作欄主題。主推app在這三套默認主題的基礎上做設計,以加快app研發效率,但只是建議使用,並沒有完全強制。9、觸摸與反饋:用戶觸摸應用中的可操作區域,應當在視覺上有響應,微小的反饋會給用戶帶來很好地效果;10、按鈕:1、按鈕的3種表現形式如下圖:2、對於僅包括圖標的按鈕,不需要使用背景色;11、滑塊:滑塊的幾種表現形式如下圖:12、進度條:如果某個操作需要花費很長的時間,就需要用進度條的指示和旋轉圈的形式來表示:1、如果你可以知道當前任務完成的比例,那麼使用進度條,讓用戶了解大約還需要多久才能完成;2、當使用旋轉圓圈時,不要配以文字標簽。旋轉的圓圈已經表明了正在進行後台操作。13、開關:用戶通過開關作出選擇,包括3種形式:復選框+單選按鈕+開關;1、復選框:用戶可以在一個集合中作出多個選擇:2、單選按鈕:單選按鈕允許用戶在一個集合中做一次選擇;3、開關:開關控制單個選項的狀態;14、對話框:應用通過對話框讓用戶作出決定或者填寫一些信息,1、對話框的左邊一般情況下是取消按鈕,右邊是確定按鈕;
❺ Android與iOS:應用程序用戶界面設計的差異和比較
移動領域的兩大風向標--Android和iOS,也是移動應用設計時最大的兩個競爭對手。Android與iOS在市場份額、受歡迎程度、使用人口統計方面數據不相上下,在這里,我們對比了Android和iOS之間的簡單設計差異,這將幫助我們弄清一個與另一個有何不同。
由於碎片化的原因,安卓系統的應用設計會有細微的差異。
我們先來了解一下Android與iOS UI應用設計在扁平化設計和材質設計方面的對比。
人機界面指南主要基於三個原則。清晰、尊重和深度。簡單來說,該方法支持極簡主義,使用簡潔的元素,注重排版和扁平化色彩。
簡而言之,Android Material Design被認為是Flat設計的升級版,帶有擬態性(一種流行的設計概念,即讓所代表的物品與現實世界中的對應物相似)。
用Google設計副總裁 MatíasDuarte 的話來說,它是–
有了這些基礎知識,讓我們從7個方面研究兩個平台之間的差異。
目錄
1. 導航
2. 按鈕
3. 圖標和屏幕解析度
4. 字體
5. 控制項
6. 卡片
7. 警報
對於iOS應用程序,總是在「後退」按鈕旁邊提示上一個選項卡的名稱。在中間,顯示當前選項卡的名稱,而在右上角則顯示「編輯」或「完成」(控制按鈕)。
說到Android的設計規則,應用程序通常在抽屜菜單或後退按鈕(可選)之後的左上角顯示標題。移至右上方,總是有一個操作項,例如搜索圖標(也可以是多個,例如「收藏夾」圖標),其後是溢出菜單。
在iOS中,主導航始終顯示在底部,功能菜單專門用於存儲一次性功能。而在Android中,通常會在功能菜單中看到主要導航,或者以搜索欄,浮動操作按鈕等形式在整個界面中存在。
ios界面指南中,沒有類似抽屜導航菜單的標准控制項。iOS的全局導航被放置在應用屏幕的底部,一般位於最末位的 "更多"標簽下找到二級導航。
Android中,二次導航是一個抽屜,一旦按下功能菜單圖標,就會從左到右打開,同時產生一個深色的遮罩層。
有四種方法可以在iOS應用中實現「後退」操作:
在某些情況下,Android應用程序中給出了類似後退的操作,您可以通過該操作進入前一個標簽。但是,最常見和最簡單的方法是使用導航欄中的後退按鈕(Android 10中現在是可選的)。
iOS和Android中的按鈕風格最主要的設計區別在於,iOS中的按鈕遵循扁平化的設計模式,不帶陰影、支持標題大小寫。Android遵循Material Design,帶陰影且字母大寫。
另一個比較重要的按鈕是Floating action button(FAB行動呼籲按鈕)。例如安卓系統中Gmail的compose按鈕,iOS系統中社交媒體應用的新建文章按鈕。
兩種系統都使用8dp的網格來構建屏幕結構,而最常見的邊框是16dp。
在開發移動應用程序時,以預定義的尺寸設計圖標是非常關鍵的。這里有一個表,描述了所有的測量。
這些表格一開始可能會讓人有點不知所措,但是如果你知道基本尺寸,並且能夠使用倍數進行檢查和導出,會發現這並不復雜。
多年來,蘋果一直是Helvetica Neue字體的粉絲,然而在2015年,蘋果開始使用San Francisco,它更節省空間,非常適合手機、台式機和iOS Watch使用。
Android系統,一直使用Roboto作為標准系統字體。在可預見的未來,谷歌也沒有計劃改變這一深受喜愛的元素。
控制項設計包含搜索、CTA按鈕、選擇控制項和標簽等元素。每一個都滿足了這樣或那樣的目的,讓我們來看看他們的位置。
搜索功能對於兩個平台來說都非常重要,蘋果最近還在iMessage中加入了 "搜索欄 "。
在蘋果中,搜索選項有兩種類型--突出和隱藏。通常情況下,搜索圖標會顯示在上邊的選項卡上,而有時需要從上到下拖動屏幕才能顯示搜索欄。此外,如果要取消搜索查詢,可以按 "取消",如果要清除,可以用 "X"。
在安卓系統中,沒有隱藏的搜索欄,你總能在上層標簽中找到一個。如果要取消搜索,只需點擊"←"圖標即可,如果要清除查詢,則和iOS中的一樣。
浮動的動作按鈕(FAB)在Android中充當主要行動按鈕,可以出現在頂部應用欄或一些組件的邊緣。而iOS應用中的主要行動按鈕總是出現在頁面的右上角。
不過也有一些例外,少數iOS會在底部工具欄顯示CTA,而Android則在上部工具欄顯示。
如果需要顯示一些選項,可以在iOS平台上使用選取器控制項,選取器一般出現在底部。
對於在Android平台上顯示很少的選項,通常使用一個出現在原地的下拉菜單,或者一個出現在中心的模態對話框,使用模態框時應用背景變暗。
據觀察,iOS系統並沒有一個視覺上類似於 "標簽"的控制項。它使用的是一個分段的按鈕。Android使用了"扁平化設計的tab"來實現同樣的效果。
卡片是圖片、文字、視頻的集合,還包括按鈕和評論。
在iOS中,卡片的特點是無陰影、全寬、無圓角。而在安卓系統中,卡片的設計有陰影、溝槽、圓角等功能。
安卓系統的提醒採用的是扁平化的按鈕樣式,具體尺寸可以在材質設計指南中找到。操作按鈕被放置在提醒的右下角。這些 "按鈕 "完全以文字為主(全大寫),讓用戶更容易理解。
至於iOS系統的提醒,則是用分割線隔開。它們基本採用句子或標題的形式,在獨立的區塊中呈現。它們被放置在彈出窗口的中心。
本文涵蓋了iOS和Android所有的初步差異,希望對你有所幫助,而設計一個iOS或Android的移動應用,總是有迭代的准則,所以,一定要保持信息的更新,及時調整自己的產品設計。
Q. 為什麼iOS和Android上的應用看起來不一樣?
品牌和意識形態的不同,已經波及到他們的操作系統的運作方式。兩個平台的UI設計已經成為品牌的符號化。
Q. 如何設計一個原生應用?
在設計原生應用時,必須始終遵守iOS UI應用設計指南和Material設計指南。這樣才能使應用與它所要針對的平台同步。另外,這些平台有不同的要求,所以你的應用必須滿足它們才能在應用商店上發布。
Q. iOS比Android更方便用戶使用嗎?
這個問題的答案是純主觀的。它是基於用戶的個人偏好。有些人可能會覺得iOS更實用,而有些人則在各方面都偏愛Android。
❻ 如何修改Android App的樣式風格
android中可以自定義主題和風格。風格,也就是style,我們可以將一些統一的屬性拿出來,比方說,長,寬,字體大小,字體顏色等等。可以在res/values目錄下新建一個styles.xml的文件,在這個文件裡面有resource根節點,在根節點裡面添加item項,item項的名字就是屬性的名字,item項的值就是屬性的值,如下所示:
復制代碼 代碼如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyText" parent="@android:style/TextAppearance">
<item name="android:textColor">#987456</item>
<item name="android:textSize">24sp</item>
</style>
</resources>
style中有一個父類屬性parent, 這個屬性是說明當前的這個style是繼承自那個style的,當然這個style的屬性值中都包含那個屬性中的,你也可以修改繼承到的屬性的值,好了,style完成了,我們可以測試一下效果了,先寫一個布局文件,比如說一個TextView什麼的,可以用到這個style的。這里我就寫一個EditText吧。下面是布局文件:
復制代碼 代碼如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas。android。com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:id="@+id/myEditText"
android:layout_width="match_parent"
android:layout_height="match_parent"
style="@style/MyText"
android:text="測試一下下"/>
</LinearLayout>
說完了style,下面就說說Theme,Theme跟style差不多,但是Theme是應用在Application或者Activity裡面的,而Style是應用在某一個View裡面的,還是有區別的,好了,廢話不多說,還是看代碼吧。下面的是style文件:
復制代碼 代碼如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyText" parent="@android:style/TextAppearance">
<item name="android:textColor">#987456</item>
<item name="android:textSize">24sp</item>
</style>
<style parent="@android:style/Theme" name="CustomTheme">
<item name="android:windowNoTitle">true</item>
<item name="android:windowFrame">@drawable/icon</item>
<item name="android:windowBackground">?android:windowFrame</item>
</style>
</resources>
style中有一個父類屬性parent, 這個屬性是說明當前的這個style是繼承自那個style的,當然這個style的屬性值中都包含那個屬性中的,你也可以修改繼承到的屬性的值,好了,style完成了,我們可以測試一下效果了,先寫一個布局文件,比如說一個TextView什麼的,可以用到這個style的。這里我就寫一個EditText吧。下面是布局文件:
復制代碼 代碼如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas。android。com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:id="@+id/myEditText"
android:layout_width="match_parent"
android:layout_height="match_parent"
style="@style/MyText"
android:text="測試一下下"/>
</LinearLayout>
說完了style,下面就說說Theme,Theme跟style差不多,但是Theme是應用在Application或者Activity裡面的,而Style是應用在某一個View裡面的,還是有區別的,好了,廢話不多說,還是看代碼吧。下面的是style文件:
復制代碼 代碼如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyText" parent="@android:style/TextAppearance">
<item name="android:textColor">#987456</item>
<item name="android:textSize">24sp</item>
</style>
<style parent="@android:style/Theme" name="CustomTheme">
<item name="android:windowNoTitle">true</item>
<item name="android:windowFrame">@drawable/icon</item>
<item name="android:windowBackground">?android:windowFrame</item>
</style>
</resources>
可以看到這里寫了一個繼承自系統默認的Theme的主題,裡面有3個屬性,這里強調一下第三個屬性的值的問題,這里打個問號,然後加前面的一個item的名字表示引用的是那個名字的值,也就是那個名字對應的圖片。
然後我們在Manifest.xml裡面的Application裡面加一個Theme的屬性,這個屬性對應的就是我們上面寫的Theme。
復制代碼 代碼如下:
<application android:icon="@drawable/icon" android:label="@string/app_name"
android:theme="@style/CustomTheme">
<activity android:name=".TestStyle"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
上面的代碼沒有標題欄,背景和fram都是我們設置的圖片。當然也可以在代碼中設置主題:
復制代碼 代碼如下:
package com.test.shang;
import android.app.Activity;
import android.os.Bundle;
public class TestStyle extends Activity {
@Override
protected void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTheme(R.style.CustomTheme);
setContentView(R.layout.test_style);
}
}
❼ 安卓13界面、功能將迎來大升級
安卓13界面、功能將迎來大升級
安卓13界面、功能將迎來大升級,在國內,隨著近幾年手機廠商對操作系統愈發重視,基於安卓的深度定製系統已經十分完善,近幾年大家對系統大版本更新的期待值已經遠不如以前,安卓13界面、功能將迎來大升級。
谷歌將在下個月舉行年度開發者大會,屆時可能會對Android 13的更新內容做全面的介紹。至於正式版,預計要等到下半年或更晚的時候了。
據了解,Android 13首個Beta版本最主要的新功能,是此前已經出現在Android 13最初兩個開發者預覽版中就出現的,其中有藍牙低能量音頻,以及新的文件訪問許可權,用戶可以決定應用能夠讀取相冊中的哪些文件。此外,還有一個全新的許可權,能夠有效過濾垃圾郵件的通知,但認為這一功能在國內用處不大。
Android 13在界面設計風格上和Android 12沒有太大區別,但在細節方面做了部分改進,比如音樂通知欄中的進度條,改為動態波浪樣式。此外,新版還支持用戶編輯剪貼板中的內容,對於常用復制粘貼的人會比較方便,建議國內深度定製系統也學習一下。
此前爆料的MGLRU多頁面回收策略,Android 13首個測試版本似乎也沒有實裝,可能得等到正式版,用戶才能體驗到「滿血」的原生系統。總體來看安卓13更像是12的隱私許可權加強版,現在的操作系統都在許可權做功課,功能、設計方面已經沒有特別明顯的改進,開始像iOS那樣「擠牙膏」了。
在國內,隨著近幾年手機廠商對操作系統愈發重視,基於安卓的深度定製系統已經十分完善,從易用性、人性化的角度來看,已經能夠迎合絕大部分消費者的需求,就連iOS、谷歌原生的某些新功能都是從國內定製系統中借鑒的。個人隱私方面,MIUI、ColorOS、Magic UI、Origin OS等定製系統也做到了,做的甚至還不差。
認為,近幾年大家對系統大版本更新的期待值已經遠不如以前,一方面是升級點有限,另一方面則是深度定製系統的崛起,原生系統或許就只剩下大版本更新快,動效流暢而已了。在用國產手機的小夥伴也不用著急,基於Android 13定製的正式版系統估計明年才會陸續推送。
據 Android Police 報道,Android 的無障礙服務旨在為殘障用戶提供幫助,但這套工具非常強大,以至於其他應用程序經常使用它來啟用引人注目的功能。不幸的是,無障礙服務通常也是惡意軟體的門戶,以此來控制電話或獲取個人數據。在 Android 13 中,谷歌正在進一步打擊對無障礙服務的訪問,使側載應用更難獲得訪問許可權。
Android 13 對側載 App 引入了新的限制,阻止用戶授予他們使用無障礙服務的權利。鑒於許多網路釣魚和惡意軟體攻擊是通過誘騙用戶從應用商店外部安裝 APK 來進行的,這可能會使不良行為者更難劫持毫無戒心的用戶手機。
不過,谷歌並沒有完全阻止側載應用程序使用無障礙服務。一旦進入對話框,說明相關應用程序的輔助功能服務受到限制,你可以通過「允許受限設置」菜單條目在右上角的應用程序信息屏幕下激活訪問許可權,因此,如果你是有興趣使用合法應用程序增強手機的高級用戶,仍然可以這樣做。
這似乎是一個漏洞,惡意應用程序可以通過指示用戶啟用受限設置來規避。因此,谷歌仍有可能在穩定的 Android 13 上線之前改變這種行為。
新規則對用戶在 Play 商店中也有的應用程序有影響。當我們從 APK Mirror 側載舊版本的 Sleep as Android 時,它使用輔助功能服務來防止在嘗試關閉鬧鍾時關閉手機,無法啟用輔助功能服務,即使將其更新到通過 Play 商店提供的最新版本。
雖然用戶仍然可以使用前面描述的解決方法訪問 Android 13 Beta 1 中的輔助功能服務,但對於那些在 Play 商店推出之前將應用程序側載到最新狀態的用戶來說,這是一個額外的步驟。
還需要注意的是,谷歌只限制側載應用程序。如果你使用 F-Droid 或亞馬遜應用商店等替代應用分發平台,將不會遇到無障礙服務限制,谷歌可能會認為應用商店中的應用至少在一定程度上是經過篩選的。
同時,默認情況下,在 Google Play 商店中分發的應用程序根本無法使用無障礙服務,除非它們是專門為無障礙而創建的。當其他應用程序開發人員可以通過漫長的過程向谷歌證明他們的應用通過無障礙服務得到了極大的增強時,他們仍然可以要求豁免,但一般來說,谷歌強烈反對使用無障礙服務。
事實上,通話記錄應用程序是最新感受到這些限制的應用程序,谷歌不再允許它們使用無障礙服務來記錄電話通話。
到了下半年,我們就能陸續看到第一批更新 Android 13 系統的設備了。
距離去年 Android 12 Beta 版發布已經過去接近一年,無論此刻你的手機是否已經收到基於 Android 12 而來的更新推送,Android 13 的更新都已經進入了最新的 Beta 測試階段,從早先公布的 Android 更新時間線來看,距離進入各種系統功能都趨於穩定的階段也僅一步之遙。
雖然近兩年 Android Beta 測試計劃時間表都有較多的提前,但隨著時間進入五月,新一年的 Google I/O 照例也即將於 5 月 11 日正式開幕,屆時也會公布所有 Android 13 中將會正式加入的重要功能。
但在那之前,我們仍然可以通過現有的 Android 13 Beta 1 更新,先來大致了解到 Android 13 中有哪些值得期待的好料。
應用獨立語言設置
這個功能對於 iOS 用戶來講肯定不會陌生,但 Android 卻是一直到第十三個大版本更新才終於等來。這一功能能讓應用獨立於系統所設置的語言之外設置另一種顯示語言(當然前提仍需要應用本身提供了多語言的支持),這個功能往往會在使用一些語言類應用時相當方便。
在 Android 13 中,在系統設置中的「語言&輸入」菜單打開之後,就可以看到新的獨立應用語言設置選項。
雖然在最新的 Android 13 Beta 1 中,這個設置選項被暫時隱藏了起來,但預計出現在最終的 Android 13 正式版更新中並不會有太多的問題。
系統主題更進一步
Android 12 之所以被很多人認為是自 Android 5.0 以來改進最大的一次更新,很大程度上要歸功於 Google 新引入的 Material You 主題取色系統。簡而言之,就是一套可以跟隨手機的桌面壁紙更換,來一次性自動更換手機的主題色、圖標、桌面小組件,乃至第三方應用內頁面設計都能一同被重新載入。
但也正是由於 Android 12 中在主題系統部分大刀闊斧地改進太多,甚至 Android 官方承諾的一些實現效果,最終都未能在 Android 12 正式版中出現,因此也有了「Android 12 分兩年更新完」的說法。
事實也確實如此,在 Material You 主題應用實現的部分,一些 Android 12 中已經「PPT 首發」的內容,直到最近的 Android 13 Beta 1 才算是得到了最終的更新:例如下面的 Android 13 媒體卡片新增動畫效果。
Material You 取色效果給了更多選擇:在 Android 13 Beta 1 中,取色選擇從 Android 12 時期的四個選擇,直接升級為了壁紙提取顏色 + 基本顏色共計 32 種顏色組合,兩種不同的取色演算法能從壁紙顏色中分別能生成單色、雙色以及三色的可選組合。讓主題樣式也有了更多可選項。
Material You 圖標取色同樣是重要的組成部分之一:在開啟主題圖標選項之後,桌面上適配過的應用圖標也都可以跟隨手機主題色設置來改變樣式,但在 Android 12 階段,這一功能的'適配進度比較緩慢,過去一年之後也仍只有少數第三方 App 針對這一功能進行了適配。
為了解決這一問題,在 Android 13 中引入了新的主題圖標 API,應用開發者只需在開發 App 時提供一個單色的應用圖標,就能在 Android 13 中應用到動態圖標樣式功能,大幅降低了開發者適配新功能的開發成本。另外 Google 也已經在與其他 Android 手機廠商合作,將這一功能推向更多 Android 第三方操作系統上。
隱私安全仍是重點
隱私許可權控制同樣是 Android 12 就已經重點關注的改進方向之一,而且在這一點上原生 Android 直接對系統底層的改動對於其他第三方 Android 系統來講同樣有著重要的啟示意義。例如在 Android 12 中首次出現了可以一鍵全局禁用攝像頭/麥克風的控制中心卡片設計。
關掉這些開關之後,禁用攝像頭甚至無法使用 Pixel 手機自帶的人臉解鎖,而禁用麥克風許可權則無法通話;而在 Android 13 中,這些針對系統許可權的控制收緊的趨勢也有更多進一步改進,全局許可權選項中還新增了新的地理位置一項,並將相機/麥克風許可權一並整合成新的「隱私控制」卡片。
在設置中,Android 13 還將過去散落在各處的隱私相關設置進一步整合,成了新的「隱私信息中心」,供用戶直接檢查最多過去一周各項許可權的使用情況,包括系統應用在內的許可權使用都可以在這里看到詳細到分鍾的許可權使用記錄。
Android 13 中還引入了獨立的照片選擇器概念:比如你想在某「小而美」的聊天軟體中給朋友分享一組照片,但卻又不想授予軟體訪問你手機中所有照片的許可權,這時 Android 13 新加入的照片選擇器就可以手動選出你需要分享的照片內容,並僅將你所選中的照片的訪問許可權授予聊天應用,最大限度降低隱私泄露的風險。
大屏幕體驗& 智能家居
在 Android 12 更新發布之後,Android 緊隨其後啟動了另一個特殊的系統測試計劃 —— Android 12L;這一目的在於優化大屏幕/折疊屏的更新被賦予了獨立系統代號,甚至在很大程度上成為了一個與早期 Android 13 測試計劃並行的開發項目。
在 Android 13 中,針對折疊屏不同場景使用/不同屏幕尺寸的顯示模式加入了更多深層的改進,一邊在多屏幕切換之間獲得更好的顯示效果;例如屏幕 90 度展開狀態的「桌面模式」。
目前 Android 13 中,面向宅家場景中需求經常被提到的智能家居也是新功能加入的重要方向之一,例如 Android 13 Beta 1 中已經加入「鎖屏控制智能設備」的選項,這一更新允許適配過的智能家居服務(例如米家、Google Home 等),無需解鎖手機,在鎖屏狀態下即可進行基礎的智能家居操作。
從目前現有信息來看,Android 13 中還將加入一個「媒體點擊轉移」(Media Tap to Transfer)的功能;雖然目前這一功能實際信息相對於其他已經出現的功能來講還很少,但這會是一個類似蘋果 AirDrop、華為分享功能的 Android 原生媒體投射功能,但檢測到同一區域網下有平板/筆電等設備正在使用中,或是使用 UWB 近場通信,靠近智能音箱即可將音樂投射到上面播放。
同樣屬於尚未發布,但已經在相關代碼中已經有所提到的,還有 Android 13 中新增的「Hub 模式」可以讓多個用戶在同一台 Android 13 設備之上共用一套數據,同時還能保留多個用戶之間的個人信息。
這一功能明顯並非是為了個人使用的平板電腦而准備,但三星也曾在今年的 CES 期間展示過搭載 Android 系統的「智能家居中樞」:本質上其實是一款 Android 系統平板,但除了搭配充電底座之外,也加入了更多針對家居使用場景的軟體改進。
這也側面印證了此前關於 Google 會發布搭載 Android 系統的智能顯示屏的傳聞,當然這些未必會是與 Android 13 一同出現在五月即將到來的 Google I/O 大會中的內容。但仍然值得期待。
❽ Android 界面排版
Android布局是應用界面開發的重要一環,在Android中,共有五種布局方式,分別是:FrameLayout(框架布局),LinearLayout (線性布局),AbsoluteLayout(絕對布局),RelativeLayout(相對布局),TableLayout(表格布局).
一、FrameLayout
這個布局可以看成是牆腳堆東西,有一個四方的矩形的左上角牆腳,我們放了第一個東西,要再放一個,那就在放在原來放的位置的上面,這樣依次的放,會蓋住原來的東西。這個布局比較簡單,也只能放一點比較簡單的東西。
二、LinearLayout
線性布局,這個東西,從外框上可以理解為一個div,他首先是一個一個從上往下羅列在屏幕上。每一個LinearLayout裡面又可分為垂直布局(android:orientation="vertical")和水平布局(android:orientation="horizontal" )。當垂直布局時,每一行就只有一個元素,多個元素依次垂直往下;水平布局時,只有一行,每一個元素依次向右排列。
linearLayout中有一個重要的屬性 android:layout_weight="1",這個weight在垂直布局時,代錶行距;水平的時候代表列寬;weight值越大就越大。
三、AbsoluteLayout
絕對布局猶如div指定了absolute屬性,用X,Y坐標來指定元素的位置android:layout_x="20px" android:layout_y="12px" 這種布局方式也比較簡單,但是在垂直隨便切換時,往往會出問題,而且多個元素的時候,計算薯指比較麻煩。 AbsoluteLayout 可以讓子元素指定準確的x/y坐標值,並顯示在屏幕上。AbsoluteLayout 沒有頁邊框,允許元素之間互相重疊(盡管不推薦)。他是絕對坐標,所以在實際中不提倡使用。
相對布局可以理解為某一個元素為參照物,來定位的布局方式。主要屬性有:
相對於某一個元素
// 相對於給雀埋定ID控制項
android:layout_above 將該控制項的底部置於給定ID的控制項之上;
android:layout_below 將該控制項的底部置於給定ID的控制項之下;
android:layout_toLeftOf 將該控制項的右邊緣與給定ID的數歲配控制項左邊緣對齊;
android:layout_toRightOf 將該控制項的左邊緣與給定ID的控制項右邊緣對齊;
android:layout_alignBaseline 將該控制項的baseline與給定ID的baseline對齊;
android:layout_alignTop 將該控制項的頂部邊緣與給定ID的頂部邊緣對齊;
android:layout_alignBottom 將該控制項的底部邊緣與給定ID的底部邊緣對齊;
android:layout_alignLeft 將該控制項的左邊緣與給定ID的左邊緣對齊;
android:layout_alignRight 將該控制項的右邊緣與給定ID的右邊緣對齊;
// 相對於父組件
android:layout_alignParentTop 如果為true,將該控制項的頂部與其父控制項的頂部對齊;
android:layout_alignParentBottom 如果為true,將該控制項的底部與其父控制項的底部對齊;
android:layout_alignParentLeft 如果為true,將該控制項的左部與其父控制項的左部對齊;
android:layout_alignParentRight 如果為true,將該控制項的右部與其父控制項的右部對齊;
// 居中
android:layout_centerHorizontal 如果為true,將該控制項的置於水平居中;
android:layout_centerVertical 如果為true,將該控制項的置於垂直居中;
android:layout_centerInParent 如果為true,將該控制項的置於父控制項的中央;
// 指定移動像素
android:layout_marginTop 上偏移的值;
android:layout_marginBottom 下偏移的值;
android:layout_marginLeft 左偏移的值;
android:layout_marginRight 右偏移的值;
example:
android:layout_below = "@id/***"
android:layout_alignBaseline = "@id/***"
android:layout_alignParentTop = true
android:layout_marginLeft = 「10px」
還可以指定邊距等,具體詳見API
五.TableLayout
表格布局類似Html裡面的Table。每一個TableLayout裡面有表格行TableRow,TableRow裡面可以具體定義每一個元素,設定他的對齊方式 android:gravity="" 。
每一個布局都有自己適合的方式,另外,這五個布局元素可以相互嵌套應用,做出美觀的界面。TableLayout 將子元素的位置分配到行或列中。一個TableLayout 由許多的TableRow 組成,每個TableRow 都會定義一個 row 。TableLayout 容器不會顯示row 、cloumns 或cell 的邊框線。每個 row 擁有0個或多個的cell ;和html中的table查不多少。在實際中也經常使用。
Android的Margin和Padding跟Html的是一樣的。通俗的理解 Padding 為內邊框,Margin 為外邊框
對應的屬性為
android:layout_marginBottom="25dip"
android:layout_marginLeft="10dip"
android:layout_marginTop="10dip"
android:layout_marginRight="10dip"
android:paddingLeft="1dip"
android:paddingTop="1dip"
android:paddingRight="1dip"
android:paddingBottom="1dip"
如果左右上下都是相同的設置則可以直接設置
android:layout_margin="10dip"
android:padding="5dip"
過去,程序員通常以像素為單位設計計算機用戶界面。例如,定義一個寬度為300像素的表單欄位,列之間的間距為5個像素,圖標大小為16×16像素 等。這樣處理的問題在於,如果在一個每英寸點數(dpi)更高的新顯示器上運行該程序,則用戶界面會顯得很小。在有些情況下,用戶界面可能會小到難以看清 內容。
與解析度無關的度量單位可以解決這一問題。Android支持下列所有單位。
px(像素):屏幕上的點。
in(英寸):長度單位。
mm(毫米):長度單位。
pt(磅):1/72英寸。
dp(與密度無關的像素):一種基於屏幕密度的抽象單位。在每英寸160點的顯示器上,1dp = 1px。
dip:與dp相同,多用於android/ophone示例中。
sp(與刻度無關的像素):與dp類似,但是可以根據用戶的字體大小首選項進行縮放。
為了使用戶界面能夠在現在和將來的顯示器類型上正常顯示,建議大家始終使用sp作為文字大小的單位,將dip作為其他元素的單位。當然,也可以考慮使用矢量圖形,而不是用點陣圖.
dp是與密度無關,sp除了與密度無關外,還與scale無關。
如果屏幕密度為160,這時dp和sp和px是一樣的。1dp=1sp=1px,但如果使用px作單位,如果屏幕大小不變(假設還是3.2寸),而屏幕密度變成了320。
那麼原來TextView的寬度設成160px,在密度為320的3.2寸屏幕里看要比在密度為160的3.2寸屏幕上看短了一半。
但如果設置成160dp或160sp的話。系統會自動將width屬性值設置成320px的。
也就是160 * 320 / 160。其中320 / 160可稱為密度比例因子。也就是說,如果使用dp和sp,系統會根據屏幕密度的變化自動進行轉換
❾ androidapp界面設計按什麼尺寸
androidapp界面設計是按720*1280的,切圖上可以點9切圖做到所有手機的適配。
狀態欄、導航欄和主菜單欄,以720*1280的尺寸來設計,那麼狀態欄的高度應為50px,導航欄的高度96px,主菜單欄的高度96px,因為是開源的系統,這里的數值也只能作為參考。
Android為了區別於IOS,從4.0開始提出了一套HOLO的UI風格設計風格,鼓勵將底部的主菜單欄放到導航欄下面,從而避免點擊下方材料誤點虛擬按鍵,很多APP的新版中也採用了這一風格。
(9)android界面樣式擴展閱讀:
注意事項:
1、通常情況要定位一個Icon只需給出上/下邊距,左/右邊距,標注圖標距離只需標到可點擊范圍外
通用型顏色、字體單獨標明一份,通用型模塊只需單獨標明一份,如導航欄。
2、手機可視區域通常為寬度固定,長度超出邊界可滑動,所以標注物體寬度時可按比例說明,如果要標注內容上下居中,左右居中,或等比可不標注。
3、當交付的是一張完整圖片時,不需做機型適配,只需給高清圖(1920*1080)即可,注意進行壓縮。
4、若圖標在不同頁面重復出現,且尺寸相差不大,直接給出最大一份切圖,並在圓形圖標明尺寸,程序會根據需求縮放。
5、當背景是純色時只需給出色值,Android使用16進制色值。
參考資料來源:網路-Android
參考資料來源:網路-界面設計
參考資料來源:網路-狀態欄
參考資料來源:網路-導航欄
參考資料來源:網路-開源系統
參考資料來源:網路-切圖
參考資料來源:網路-UI設計
❿ Android系統自帶樣式Theme總結
本文從網上復制,給自己做筆記的,摘自: http://blog.csdn.net/hongya1109110121/article/details/11985545
Android系統自帶樣式(@android:style/) (轉)
1 android:theme="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen"
布局頁面最上面 不會顯示 android:icon="@drawable/ic_launcher"中的值和android:label="@string/app_name"的值。
2 android:theme="@style/AppTheme"
布局頁面最上面 顯示 android:icon="@drawable/ic_launcher"中的值和android:label="@string/app_name"的值。
其他
在AndroidManifest.xml文件的activity中配置
1、android:theme="@android:style/Theme"
默認狀態,即如果theme這里不填任何屬性的時候,默認為Theme
2、android:theme="@android:style/Theme.NoDisplay"
任何都不顯示。比較適用於只是運行了activity,但未顯示任何東西
3、android:theme="@android:style/Theme.NoTitleBar「
背景主題的沒有標題欄的樣式,默認如果沒有設置的話,顯示黑背景
4、android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
背景主題的沒有標題欄且全屏的樣式,默認為黑背景
5、android:theme="@android:style/Theme.Black"
默認狀態下黑背景
6、android:theme="@android:style/Theme.Black.NoTitleBar"
黑背景主題的沒有標題欄的樣式
7、android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
黑背景主題的沒有標題欄且全屏的樣式
8、android:theme="@android:style/Theme.Light"
默認狀態下亮背景,與上述黑背景Theme.Black相反
9、android:theme="@android:style/Theme.Light.NoTitleBar"
亮背景主題的沒有標題欄的樣式,與Theme.Black.NoTitleBar相反
10、android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen"
亮背景主題的沒有標題欄且全屏顯示的樣式,與Theme.Black.NoTitleBa.Fullscreenr相反
11、android:theme="@android:style/Theme.Dialog"
對話框樣式 將整個activity變成對話框樣式出現
12、android:theme="@android:style/Theme.InputMethod"
Window animations that are applied to input method overlay windows
13、android:theme="@android:style/ Theme.Panel"
刪除掉所有多餘的窗口裝飾,在一個空的矩形框中填充內容,作用范圍相當於把dialog中的所有元素全部去掉,只是一個空的矩形框,且此為默認的樣式
14、android:theme="@android:style/ Theme.Light.Panel"
刪除掉所有多餘的窗口裝飾,在一個空的矩形框中填充內容,作用范圍相當於把dialog中的所有元素全部去掉,只是一個空的矩形框,且默認是light的樣式
15、android:theme="@android:style/Theme.Wallpaper"
使用牆紙做主題,默認狀態。
16、android:theme="@android:style/ Theme.WallpaperSettings"
使用牆紙做主題,默認是使用將上一個界面調暗之後作為主題
17、android:theme="@android:style/ Theme.Light.WallpaperSettings"
使用牆紙做主題,默認Light狀態
18、android:theme="@android:style/Theme.Wallpaper.NoTitleBar"
使用牆紙做主題,且沒有標題欄
19、android:theme="@android:style/Theme.Wallpaper.NoTitleBar.Fullscreen"
使用牆紙做主題,且沒有標題欄,且全屏顯示
20、android:theme="@android:style/Theme.Translucent"
半透明狀態下的背景,將運行此activity之前的屏幕作為半透明狀態作為此activity運行時的樣式。
21、android:theme="@android:style/Theme.Translucent.NoTitleBar"
半透明狀態下沒有標題欄的背景,將運行此activity之前的屏幕作為半透明狀態作為此activity運行時的樣式。
22、android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
半透明狀態下沒有標題欄且全屏的背景,將運行此activity之前的屏幕作為半透明狀態作為此activity運行時的樣式。
摘自: http://blog.csdn.net/hongya1109110121/article/details/11985545