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

Android形狀圖形與狀態(tài)列表圖形及九宮格圖片超詳細(xì)講解

 更新時(shí)間:2022年09月27日 16:53:43   作者:Shewyoo  
這篇文章主要介紹了Android形狀圖形與狀態(tài)列表圖形及九宮格圖片的應(yīng)用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧

一、圖形Drawable

Drawable類型表達(dá)了各種各樣的圖形,包括圖片、色塊、畫板、背景等。

包含圖片在內(nèi)的圖形文件放在res目錄的各個(gè)drawable目錄下,其中drawable目錄一般保存描述性的XML文件,而圖片文件一般放在具體分辨率的drawable目錄下。

各視圖的background屬性、ImageView和ImageButton的src屬性、TextView和Button四個(gè)方向的drawable***系列屬性都可以引用圖形文件。

二、形狀圖形

Shape圖形又稱形狀圖形,它用來描述常見的幾何形狀,包括矩形、圓角矩形、圓形、橢圓等。

形狀圖形的定義文件是以Shape標(biāo)簽為根節(jié)點(diǎn)的XML描述文件。

實(shí)際開發(fā)一般主要使用3個(gè)節(jié)點(diǎn):stroke、corners、solid。

1、類型的形狀:

  • rectangle:矩形,默認(rèn)
  • oval:橢圓,此時(shí)corners節(jié)點(diǎn)失效
  • line:直線,此時(shí)必須設(shè)置stroke節(jié)點(diǎn),不然報(bào)錯(cuò)
  • ring:圓環(huán)

2、size(尺寸)

size是shape的下級(jí)節(jié)點(diǎn),它描述了形狀圖形的寬高尺寸,若無size節(jié)點(diǎn),則表示寬高與宿主視圖一樣大小,下面是size節(jié)點(diǎn)的常用屬性說明:

  • height:像素類型,圖形高度。
  • width:像素類型,圖形寬度。

3、stroke(描邊)

stroke是shape的下級(jí)節(jié)點(diǎn),它描述了形狀圖形的描邊規(guī)格,若無stroke節(jié)點(diǎn),則表示不存在描邊,下面是stroke節(jié)點(diǎn)的常用屬性說明:

  • color:顏色類型,描邊的顏色。
  • dashGap:像素類型,每段虛線之間的間隔。
  • dashWidth:像素類型,每段虛線的寬度,若dashGap和dashWidth有一個(gè)值為0,則描邊為實(shí)線。
  • wdith:像素類型,描邊的厚度。

4、corners(圓角)

corners是shape的下級(jí)節(jié)點(diǎn),它描述了形狀圖形的圓角大小,若無corners節(jié)點(diǎn),則表示無圓角,下面是常用屬性:

  • bottomLeftRadius:坐下圓角的半徑。
  • bottomRightRadius:右下圓角的半徑。
  • topLeftRadius:左上圓角的半徑。
  • topRightRadius:右上圓角的半徑。
  • radius:四個(gè)圓角的半徑。

5、solid(填充)

solid是shape的下級(jí)節(jié)點(diǎn),它描述了形狀圖形的填充色彩,若無solid節(jié)點(diǎn),則表示無填充顏色,下面的屬性說明:

  • color:內(nèi)部填充的顏色。

6、padding(間隔)

padding是shape的下級(jí)節(jié)點(diǎn),它描述了形狀圖形與周圍邊界的間隔,若無padding節(jié)點(diǎn),則表示四周不設(shè)間隔,下面的常用屬性:

  • top:與上方的間隔。
  • bottom:與下方的間隔。
  • left:與左邊的間隔。
  • right:與右邊的間隔。

7、gradient(漸變)

gradient是shape的下級(jí)節(jié)點(diǎn),它描述了形狀圖形的顏色漸變,若無gradient節(jié)點(diǎn),則表示沒有漸變效果,下面的常用屬性:

  • angle:整型,漸變的起始角度,為0表示9點(diǎn)鐘位置,增值大表示往逆時(shí)針方向旋轉(zhuǎn)。
  • type:漸變類型。
漸變類型說明
linear線性漸變,默認(rèn)
radial放射漸變,起始顏色就是圓心顏色
sweep滾動(dòng)漸變,即一個(gè)線段以某個(gè)端點(diǎn)為圓心做360°旋轉(zhuǎn)
  • centerX:浮點(diǎn)型,圓心的X坐標(biāo),type=linear時(shí)不可用。
  • centerY:浮點(diǎn)型,圓心的Y坐標(biāo),type=linear時(shí)不可用。
  • gradientRadius:整型,漸變半徑,type=radial時(shí)需要設(shè)置。
  • centerColor:漸變的中間顏色。
  • startColor:漸變的起始顏色。
  • endColor:漸變的終止顏色。
  • useLevel:布爾類型,設(shè)置為true為無漸變色。

例:點(diǎn)擊按鈕切換圖形

xml文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <View
        android:id="@+id/v_content"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:layout_margin="10dp"/>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <Button
            android:id="@+id/btn_rect"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="圓角矩形"/>
        <Button
            android:id="@+id/btn_oval"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="橢圓矩形"/>
</LinearLayout>
</LinearLayout>

drawable下新建rect.xml文件

<shape xmlns:android="http://schemas.android.com/apk/res/android">
<!--指定形狀內(nèi)部的填充顏色-->
    <solid android:color="#ffdd66"/>
<!--    指定形狀輪廓的粗細(xì)與顏色-->
    <stroke android:width="1dp"
            android:color="#aaaaaa"/>
<!--    指定形狀四個(gè)圓角的半徑-->
    <corners android:radius="10dp"/>
</shape>

oval.xml文件

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">
    <!--指定形狀內(nèi)部的填充顏色-->
    <solid android:color="#ff66aa"/>
    <!--    指定形狀輪廓的粗細(xì)與顏色-->
    <stroke android:width="1dp"
        android:color="#aaaaaa"/>
</shape>

java代碼

public class DrawableShapeActivity extends AppCompatActivity implements View.OnClickListener {
    private View v_content;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_drawable_shape);
        v_content = findViewById(R.id.v_content);
        findViewById(R.id.btn_rect).setOnClickListener(this);
        findViewById(R.id.btn_oval).setOnClickListener(this);
        //v_content的背景設(shè)置為圓角矩形
        v_content.setBackgroundResource(R.drawable.shape_rect_gold);
    }
    @Override
    public void onClick(View view) {
        switch (view.getId()){
            case R.id.btn_rect:
                v_content.setBackgroundResource(R.drawable.shape_rect_gold);
                break;
            case R.id.btn_oval:
                v_content.setBackgroundResource(R.drawable.shape_oval_rose);
                break;
        }
    }
}

運(yùn)行結(jié)果:

三、九宮格圖片

將某張圖片設(shè)置成視圖背景時(shí),如果圖片尺寸太小,則會(huì)自動(dòng)拉伸使之填滿背景,但圖片拉的過大,會(huì)變得模糊。

使用九宮格圖片:將圖片后綴改為.9.png

四、狀態(tài)列表圖形

Button按鈕的背景在正常情況下是凸起的,在按下時(shí)是凹陷的,從按下到彈起的過程,用戶便能知道點(diǎn)擊了這個(gè)按鈕。

例:

當(dāng)按鈕被按下時(shí)使用的是第一個(gè)item的圖片

<item android:drawable="@drawable/button_pressed" android:state_pressed="true"/>
<item android:drawable="@drawable/button_normal"/>

狀態(tài)類型的取值說明

狀態(tài)列表圖形不僅用于按鈕控件,還可用于其他擁有多種狀態(tài)的控件。

到此這篇關(guān)于Android形狀圖形與狀態(tài)列表圖形及九宮格圖片超詳細(xì)講解的文章就介紹到這了,更多相關(guān)Android形狀圖形內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于DownloadManager的簡(jiǎn)單下載器編寫小結(jié)

    基于DownloadManager的簡(jiǎn)單下載器編寫小結(jié)

    Android自帶的DownloadManager是一個(gè)很好的下載文件的工具。該類在API level 9之后出現(xiàn),它已經(jīng)幫我們處理了下載失敗、重新下載等功能,整個(gè)下載過程全部交給系統(tǒng)負(fù)責(zé),不需要我們過多的處理,非常的nice。關(guān)鍵的是用起來也很簡(jiǎn)單,稍微封裝一下就可以幾句話搞定下載
    2017-12-12
  • Kotlin編程條件控制示例詳解

    Kotlin編程條件控制示例詳解

    這篇文章主要為大家介紹了Kotlin編程條件控制示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Android中利用NetworkInfo判斷網(wǎng)絡(luò)狀態(tài)時(shí)出現(xiàn)空指針(NullPointerException)問題的解決方法

    Android中利用NetworkInfo判斷網(wǎng)絡(luò)狀態(tài)時(shí)出現(xiàn)空指針(NullPointerException)問題的解決

    這篇文章主要介紹了Android中利用NetworkInfo判斷網(wǎng)絡(luò)狀態(tài)時(shí)出現(xiàn)空指針(NullPointerException)問題的解決方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-11-11
  • Android數(shù)據(jù)加密之異或加密算法的實(shí)現(xiàn)方法

    Android數(shù)據(jù)加密之異或加密算法的實(shí)現(xiàn)方法

    下面小編就為大家?guī)硪黄狝ndroid數(shù)據(jù)加密之異或加密算法的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-10-10
  • 深入淺析 Android Fragment(上篇)

    深入淺析 Android Fragment(上篇)

    本篇文章為大家說明Fragment如何產(chǎn)生,什么是Fragment,F(xiàn)ragment生命周期,如何靜態(tài)和動(dòng)態(tài)的使用Fragment,F(xiàn)ragment回退棧,F(xiàn)ragment事務(wù);以及Fragment的一些特殊用途。感興趣的朋友一起跟著小編一起看看吧
    2015-10-10
  • Android貝塞爾曲線初步學(xué)習(xí)第二課 仿QQ未讀消息氣泡拖拽黏連效果

    Android貝塞爾曲線初步學(xué)習(xí)第二課 仿QQ未讀消息氣泡拖拽黏連效果

    這篇文章主要為大家詳細(xì)介紹了Android貝塞爾曲線初步學(xué)習(xí)的第二課,仿QQ未讀消息氣泡拖拽黏連效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • Android中TextView顯示圓圈背景或設(shè)置圓角的方法

    Android中TextView顯示圓圈背景或設(shè)置圓角的方法

    TextView顯示文本給用戶,并允許他們選擇編輯。TextView是一個(gè)完整的文本編輯器,但是其基本類配置為不允許編輯。下面這篇文章主要給大家介紹了關(guān)于Android中TextView顯示圓圈背景或設(shè)置圓角的方法,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-05-05
  • Android中Java instanceof關(guān)鍵字全面解析

    Android中Java instanceof關(guān)鍵字全面解析

    instanceof關(guān)鍵字用于判斷一個(gè)引用類型變量所指向的對(duì)象是否是一個(gè)類(或接口、抽象類、父類)的實(shí)例.這篇文章主要介紹了Android中Java instanceof關(guān)鍵字全面解析的相關(guān)資料,需要的朋友可以參考下
    2016-07-07
  • Android 谷歌推薦的VR實(shí)現(xiàn)方式(分享)

    Android 谷歌推薦的VR實(shí)現(xiàn)方式(分享)

    下面小編就為大家分享一篇Android 谷歌推薦的VR實(shí)現(xiàn)方式。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • Android自定義ViewGroup嵌套與交互實(shí)現(xiàn)幕布全屏滾動(dòng)

    Android自定義ViewGroup嵌套與交互實(shí)現(xiàn)幕布全屏滾動(dòng)

    這篇文章主要為大家介紹了Android自定義ViewGroup嵌套與交互實(shí)現(xiàn)幕布全屏滾動(dòng)效果示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01

最新評(píng)論

吉首市| 林西县| 涟水县| 东乡县| 介休市| 南昌市| 山阴县| 历史| 曲周县| 营口市| 沁源县| 北辰区| 孟村| 旬邑县| 颍上县| 佳木斯市| 泸州市| 遂平县| 昌平区| 若尔盖县| 临清市| 句容市| 离岛区| 绥德县| 泉州市| 江达县| 海兴县| 卢氏县| 收藏| 伊川县| 华亭县| 张家口市| 岳普湖县| 黑龙江省| 绥阳县| 岳普湖县| 安吉县| 鄱阳县| 镇平县| 峡江县| 京山县|