最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android頂部標(biāo)題欄的布局設(shè)計(jì)

 更新時(shí)間:2022年01月14日 11:16:09   作者:Bin要上進(jìn)  
大家好,本篇文章主要講的是Android頂部標(biāo)題欄的布局設(shè)計(jì),感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下

自定義標(biāo)題欄

通常我們的活動(dòng)頁(yè)面都會(huì)根據(jù)需要都會(huì)有不同的標(biāo)題欄需要選擇,一般有兩個(gè)場(chǎng)景,一個(gè)是統(tǒng)一標(biāo)題欄,通過(guò)引入布局到活動(dòng)來(lái)進(jìn)行重復(fù)使用,還有一個(gè)就是你的活動(dòng)頁(yè)面每個(gè)都需要定制的,就不能統(tǒng)一風(fēng)格了。

布局與九宮格背景圖

下面講講布局與九宮格的一些搭配。

布局

常用設(shè)計(jì)標(biāo)題欄的布局都是通過(guò)流式布局來(lái)進(jìn)行的。為什么呢?是不是覺(jué)得有時(shí)候流式布局反而更麻煩一點(diǎn)。標(biāo)題欄一般都是有控件依賴(lài)關(guān)系的。為什么不采用相對(duì)布局呢?相對(duì)布局不就是解決依賴(lài)關(guān)系的么?是,但是有個(gè)設(shè)計(jì)的小技巧。相對(duì)布局的確對(duì)依賴(lài)關(guān)系是有很好的適用性。但是要考慮到項(xiàng)目需求的變更。你一開(kāi)始設(shè)計(jì)的,可能是覺(jué)得位置都合適了。但是現(xiàn)在需求變更了呢,有些控件需要進(jìn)行改動(dòng)的話,是不是發(fā)現(xiàn)很麻煩,加入或者刪除都有可能會(huì)讓你的布局全都打亂,需要重新指定依賴(lài)關(guān)系。

那流式布局是怎么完成依賴(lài)關(guān)系的呢?我們可以給他加個(gè)view來(lái)進(jìn)行隔開(kāi)。通過(guò)權(quán)重進(jìn)行分配,一樣可以實(shí)現(xiàn)相對(duì)布局的效果。用一個(gè)0.1dp高度的view就可以分割開(kāi)了。

在這里插入圖片描述

當(dāng)然這也不是絕對(duì)的,不是說(shuō)一定要用流式會(huì)好一點(diǎn),相對(duì)于大多數(shù)場(chǎng)景的標(biāo)題欄都是比較簡(jiǎn)單的擺放,所以用流式也可以。但是如果啊,如果你的標(biāo)題欄的控件又要水平擺放的,又要垂直擺放的,這種情況下,還想使用流式布局就需要進(jìn)行布局嵌套了,相對(duì)來(lái)說(shuō)開(kāi)銷(xiāo)會(huì)增大。如果是這種情況的話,我可能會(huì)覺(jué)得相對(duì)布局好點(diǎn)。

那是不是因?yàn)榭丶囊蕾?lài)關(guān)系就不太想使用相對(duì)布局了呢?其實(shí)不然,相對(duì)布局最合適使用的地方,我覺(jué)得就不是相對(duì)控件的依賴(lài)關(guān)系(大范圍指定控件),而是相對(duì)布局的依賴(lài)關(guān)系。這個(gè)就顯得更加有用了。通常我們的頁(yè)面也會(huì)有l(wèi)istview這些列表類(lèi)的滾動(dòng)場(chǎng)景,還會(huì)有使用系統(tǒng)軟鍵盤(pán)進(jìn)行輸入的場(chǎng)景,如果我們不指定布局之間的依賴(lài)關(guān)系而采用流式布局這些,你就會(huì)發(fā)現(xiàn),點(diǎn)擊輸入框彈出鍵盤(pán)的時(shí)候,你的頁(yè)面底部就被鍵盤(pán)頂上去了,頁(yè)面控件顯示不全,這是因?yàn)楦叨劝l(fā)生了改變。當(dāng)然你也可以自定義監(jiān)聽(tīng)事件,對(duì)高度進(jìn)行檢測(cè),再做邏輯處理。

總結(jié):在設(shè)計(jì)布局的時(shí)候,相對(duì)布局盡量是相當(dāng)于父布局上下左右進(jìn)行相對(duì)。小的依賴(lài)關(guān)系盡量使用流式布局解決,類(lèi)似于簡(jiǎn)單的標(biāo)題欄,便于后期的維護(hù)。

九宮格圖片

那講完布局,與九宮格照片又有什么關(guān)系呢?
先說(shuō)下九宮格圖片,知道的朋友可以跳過(guò)。

首先是它的由來(lái),技術(shù)的進(jìn)步從來(lái)都是按需前進(jìn)的。有這個(gè)東西就說(shuō)明是遇到了什么問(wèn)題。那問(wèn)題是什么呢?

我們將某張圖片設(shè)置為視圖背景時(shí),如果圖片尺寸太小,系統(tǒng)則會(huì)自動(dòng)拉伸圖片使之填滿背景??梢砸坏﹫D片拉的過(guò)大,其畫(huà)面就容易變得模糊。為了解決這個(gè)問(wèn)題,Android就設(shè)計(jì)了這個(gè)點(diǎn)九圖片。它的擴(kuò)展名是png,文件名后面常有“.9”字樣。該圖片劃分成了3*3的區(qū)域。如果背景是一個(gè)形狀圖形,它的stroke節(jié)點(diǎn)的width屬性已經(jīng)設(shè)置了固定數(shù)值(如)1dp,那么無(wú)論該圖形怎么拉伸,描邊寬度始終是1dp。點(diǎn)九圖片的實(shí)現(xiàn)原理與之類(lèi)似,即拉伸圖形時(shí),只拉伸內(nèi)部區(qū)域,不拉伸邊緣線條。

下面就是一個(gè)九宮格的背景圖片:

在這里插入圖片描述

左邊是加工區(qū)域,右邊是圖片預(yù)覽區(qū)域,從上到下一次是縱向拉伸,橫向拉伸、兩方向同時(shí)拉伸的預(yù)覽圖片模式。在左側(cè)窗口圖片四周的馬賽克處單擊會(huì)出現(xiàn)一個(gè)黑點(diǎn),把黑點(diǎn)左右或者上下拖動(dòng)出一條黑線,不同的方向上的黑線就會(huì)表示出不同的效果。

左邊黑線是指垂直方向的拉伸區(qū)域。垂直方向拉伸圖片時(shí),只有黑線區(qū)域內(nèi)的圖像會(huì)進(jìn)行一個(gè)拉伸,不在黑線內(nèi)的區(qū)域就不拉伸,還是維持原狀,這樣就能保證上下兩側(cè)的邊框厚度不變。

上邊黑線是指水平方向的拉伸區(qū)域。與上面是同理。水平拉伸,黑線內(nèi)拉伸,黑線外不拉伸。

下邊黑線是指該圖片作為控件背景時(shí),控件內(nèi)部的文字左右邊界就只能放在黑線區(qū)域內(nèi)。如上圖。這樣的話,就會(huì)自動(dòng)的有了android:paddingLeft和android:paddingRight的效果了。相當(dāng)于自動(dòng)為你添加了。

右邊黑線于上邊同理。只不過(guò)是方面不同。這里就相當(dāng)于上下的邊界在黑線內(nèi)了。同樣是相當(dāng)于自動(dòng)添加了android:paddingTop與android:paddingBottom的效果。

那是不是與我們的布局就很搭配了,我們通常標(biāo)題欄之類(lèi)的也需要設(shè)置一個(gè)顏色,那么九宮格圖片就能很好的幫助到你,通過(guò)簡(jiǎn)單的黑線,你就可以減少一些設(shè)置上下左右邊界的代碼了,是不是覺(jué)得變簡(jiǎn)單了?

還有一點(diǎn)要注意的是,九宮格圖片如果設(shè)置為視圖背景的時(shí)候,而且是指定了Horizontal Padding和Vertical Padding,那么視圖內(nèi)部將一直與視圖邊緣保持固定的間距,無(wú)論怎么調(diào)整xml文件和java代碼都是不行的。因?yàn)槭蔷艑m格圖片設(shè)置的padding。

我們還可以給內(nèi)部的控件設(shè)置一些狀態(tài)列表背景進(jìn)行改變, 這樣在點(diǎn)擊控件或者獲取焦點(diǎn)的時(shí)候就可以,有一個(gè)明顯的效果出來(lái)。

在這里插入圖片描述

總結(jié)

到此這篇關(guān)于Android頂部標(biāo)題欄的布局設(shè)計(jì)的文章就介紹到這了,更多相關(guān)Android標(biāo)題欄布局內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Android Scroller大揭秘

    Android Scroller大揭秘

    本篇文章主要介紹了Android Scroller的相關(guān)知識(shí)。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧
    2017-04-04
  • Android?Studio實(shí)現(xiàn)智能聊天

    Android?Studio實(shí)現(xiàn)智能聊天

    這篇文章主要為大家詳細(xì)介紹了Android?Studio實(shí)現(xiàn)智能聊天,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • android @override 報(bào)錯(cuò)解決方案

    android @override 報(bào)錯(cuò)解決方案

    android @override 報(bào)錯(cuò):就是說(shuō)Java 1.5的編譯器默認(rèn)對(duì)父類(lèi)的方法進(jìn)行覆蓋,采用@Override進(jìn)行說(shuō)明;但1.6已經(jīng)擴(kuò)展到對(duì)接口的方法;所以如果還是以Java 1.5的編譯器來(lái)編譯的話,會(huì)出現(xiàn)錯(cuò)誤
    2012-12-12
  • flutter 怎么實(shí)現(xiàn)app整體灰色效果

    flutter 怎么實(shí)現(xiàn)app整體灰色效果

    Flutter 是 Google 開(kāi)源的 UI 工具包,幫助開(kāi)發(fā)者通過(guò)一套代碼庫(kù)高效構(gòu)建多平臺(tái)精美應(yīng)用,支持移動(dòng)、Web、桌面和嵌入式平臺(tái)。這篇文章給大家介紹flutter 怎么實(shí)現(xiàn)app整體灰色效果,感興趣的朋友一起看看吧
    2020-04-04
  • Android?Studio實(shí)現(xiàn)音樂(lè)播放器2.0的全過(guò)程

    Android?Studio實(shí)現(xiàn)音樂(lè)播放器2.0的全過(guò)程

    音樂(lè)帶給人的聽(tīng)覺(jué)享受是無(wú)可比擬的,動(dòng)聽(tīng)的音樂(lè)能夠愉悅?cè)说纳硇?讓人更加積極地去熱愛(ài)生活,下面這篇文章主要給大家介紹了關(guān)于Android?Studio實(shí)現(xiàn)音樂(lè)播放器2.0的相關(guān)資料,需要的朋友可以參考下
    2022-02-02
  • Android Studio 3.x版本 的輸入法遇到的坑及解決方案

    Android Studio 3.x版本 的輸入法遇到的坑及解決方案

    前些天把AndroidStudio從2.3.3升級(jí)到3.0,遇到了不少坑,其中一個(gè)巨坑就是輸入中文不提示的問(wèn)題,下面給大家分享Android Studio 3.x版本的輸入法遇到的坑及解決方案,一起看看吧
    2017-11-11
  • android 使用kotlin 實(shí)現(xiàn)點(diǎn)擊更換全局語(yǔ)言(中日英切換)

    android 使用kotlin 實(shí)現(xiàn)點(diǎn)擊更換全局語(yǔ)言(中日英切換)

    這篇文章主要介紹了android kotlin 點(diǎn)擊更換全局語(yǔ)言的實(shí)現(xiàn)方法,這里主要介紹中日英切換,需要的朋友可以參考下
    2019-11-11
  • 自定義視圖View繪圖基礎(chǔ)之Path的使用

    自定義視圖View繪圖基礎(chǔ)之Path的使用

    這篇文章主要介紹了自定義視圖View繪圖基礎(chǔ)之Path的使用,path類(lèi)是一個(gè)非常有用的類(lèi),他可以預(yù)先在view上講N個(gè)點(diǎn)連成一條“路徑”,然后調(diào)用Canvas的drawPath(path,paint)即可沿著路徑繪制圖形,需要的朋友可以參考下
    2023-04-04
  • 教你安裝配置Android Studio

    教你安裝配置Android Studio

    對(duì)于Android Studio相信大家都不陌生了,作為谷歌推出的安卓開(kāi)發(fā)工具,做過(guò)java的同學(xué)應(yīng)該都了解,下面我們就簡(jiǎn)單介紹下這款工具的安裝預(yù)配置
    2015-12-12
  • Android編程之selector下設(shè)置背景屬性值的方法

    Android編程之selector下設(shè)置背景屬性值的方法

    這篇文章主要介紹了Android編程之selector下設(shè)置背景屬性值的方法,結(jié)合實(shí)例形式分析了Android的selector背景選擇器相關(guān)使用技巧,需要的朋友可以參考下
    2016-01-01

最新評(píng)論

连南| 兴化市| 瓦房店市| 长泰县| 灵石县| 玛纳斯县| 隆安县| 无为县| 金乡县| 水城县| 张家界市| 铅山县| 洛阳市| 江陵县| 玉门市| 新乡县| 湖南省| 邛崃市| 丽水市| 九台市| 洛宁县| 洞头县| 石柱| 湖北省| 永清县| 长岛县| 福贡县| 周至县| 科尔| 新营市| 灌南县| 即墨市| 奉化市| 叙永县| 洛扎县| 庆城县| 永兴县| 双鸭山市| 林芝县| 进贤县| 荆门市|