日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android各种各样的Drawable-更新中

發布時間:2025/3/21 Android 87 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android各种各样的Drawable-更新中 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概述

2D繪圖

通常情況下,我們很少直接使用Drawable的實現類,大部分的情況下還是使用xml的方式進行開發。只有在程序中需要動態的修改drawable的屬性時,才需要使用具體的drawable類型提供的方法。

事實上xml中配置的節點和Drawable的實現類是一一對應的。


Android 在android.graphics.drawable包中提供了了很多Drawable抽象類的實現類:ColorDrawable、GradientDrawable、BitmapDrawable、 NinePatchDrawable、InsetDrawable、ClipDrawable、ScaleDrawable、RotateDrawable、AnimationDrawable、LayerDrawable、LevelListDrawable、StateListDrawable、TransitionDrawable等等


ElementClassDescription
<animated-rotate>AnimatedRotateDrawableA Drawable that can animate a rotation of another Drawable.
<animation-list>AnimationDrawableAn object used to create frame-by-frame animations, defined by a series of Drawable objects, which can be used as a View object’s background.
<bitmap>BitmapDrawableA Drawable that wraps a bitmap and can be tiled, stretched, or aligned.
<clip>ClipDrawableA Drawable that clips another Drawable based on this Drawable’s current level value. You can control how much the child Drawable gets clipped in width and height based on the level, as well as a gravity to control where it is placed in its overall container. Most often used to implement things like progress bars.
<color>ColorDrawableA specialized Drawable that fills the Canvas with a specified color, with respect to the clip region.
<inset>InsetDrawableA Drawable that insets another Drawable by a specified distance. This is used when a View needs a background that is smaller than the View’s actual bounds.
<layer-list>LayerDrawableA Drawable that manages an array of other Drawables. These are drawn in array order.
<level-list>LevelListDrawableA resource that manages a number of alternate Drawables, each assigned a maximum numerical value.
<nine-patch>NinePatchDrawableA resizeable bitmap, with stretchable areas that you define.
<rotate>RotateDrawableA Drawable that can rotate another Drawable based on the current level value. The start and end angles of rotation can be controlled to map any circular arc to the level values range.
<scale>ScaleDrawableA Drawable that changes the size of another Drawable based on its current level value.
<selector>StateListDrawableLets you assign a number of graphic images to a single Drawable and swap out the visible item based on state.
<shape>GradientDrawableBasic method for drawing shapes via XML.
<transition>TransitionDrawableAn extension of <layer-list> that is intended to cross-fade between the first and second layer. The format is exactly the same as <layer-list>.

http://idunnolol.com/android/drawables.html


ColorDrawable

ColorDrawable 實際上是代表了單色可繪制區域,它包裝了一種固定的顏色,當ColorDrawable被繪制到畫布的時候會使用顏色填充Paint,在畫布上繪制一塊單色的區域。

Xml的方式

android:background=”@drawable/colordrawable_xml”

<TextViewandroid:id="@+id/id_tv_colorDrawableDemo_Xml"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_margin="10dp"android:text="ColorDrawable-ByXml"android:textColor="@color/bg_black"android:background="@drawable/colordrawable_xml"android:textSize="20sp" />

顏色定義在color.xml中,使用時直接引用即可。

<?xml version="1.0" encoding="utf-8"?> <color xmlns:android="http://schemas.android.com/apk/res/android"android:color="@color/skyblue"/>

JavaCode的方式

代碼中必須要明確指出透明度(Alpha)代表的數據,即,要加上0x,而且不能把透明度漏掉,否則就是透明的了。

public class ColorDrawableActivity extends AppCompatActivity {private TextView mIdTvColorDrawableDemo;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_color_drawable);mIdTvColorDrawableDemo = (TextView) findViewById(R.id.id_tv_colorDrawableDemo_javaCode);/*** setBackground 在 4.1(API16)之后增加*/if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {/*** 使用Java代碼創建ColorDrawable,* 需要注意的是Android中使用一個int類型的數據表示顏色值,* 通常習慣使用十六進制格式的數據表示顏色值。* 一個int類型包含四個字節,* 分別代表顏色的4個組成部分:透明度(Alpha)、紅(RED)、綠(GREEN)、藍(BLUE),* 每個部分由一個字節(8個bit)表示,取值范圍為0~255。* 在xml中使用顏色時可以省略透明度(Alpha)部分,* 如#ff0000表示紅色。* 但是在代碼中必須要明確指出透明度(Alpha)代表的數據,* 如果省略了就表示完全透明的顏色,也就是說當繪制到畫布上時,看不出有任何效果。*/mIdTvColorDrawableDemo.setBackground(new ColorDrawable(0xffff0000));}} }

運行圖


GradientDrawable

GradientDrawable 表示一個漸變區域,可以實現線性漸變、發散漸變和平鋪漸變效果。

在xml文件中使用shape作為根節點來創建GradientDrawable,很多屬性和子節點。

shape

Xml的方式

線性漸變linear

<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="oval"><!--一個具有漸變區域的Drawable,可以實現線性漸變,發散漸變和平鋪漸變效果核心節點:<gradient/>,有如下可選屬性:startColor:漸變的起始顏色centerColor:漸變的中間顏色endColor:漸變的結束顏色type:漸變類型,可選(linear,radial,sweep), 線性漸變(可設置漸變角度),發散漸變(中間向四周發散),平鋪漸變centerX:漸變中間亞瑟的x坐標,取值范圍為:0~1centerY:漸變中間顏色的Y坐標,取值范圍為:0~1angle:只有linear類型的漸變才有效,表示漸變角度,必須為45的倍數哦gradientRadius:只有radial和sweep類型的漸變才有效,radial必須設置,表示漸變效果的半徑useLevel:判斷是否根據level繪制漸變效果--><gradient android:angle="90"android:centerColor="#00ff00"android:endColor="#0000ff"android:startColor="#ff0000" /><!--描邊--><stroke android:width="3dip"android:color="#fff"android:dashGap="5dip"android:dashWidth="4dip" /> </shape>

發散漸變radial

<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"android:innerRadius="0dp"android:shape="ring"android:thickness="100dp"android:useLevel="false"><gradient android:centerColor="#FFEB82"android:endColor="#35B2DE"android:gradientRadius="50"android:startColor="#DEACAB"android:type="radial"android:useLevel="false" /></shape>

平鋪漸變sweep

<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"android:innerRadiusRatio="8"android:shape="ring"android:thicknessRatio="3"android:useLevel="false"><gradient android:centerColor="#FFEB82"android:endColor="#35B2DE"android:startColor="#DEACAB"android:type="sweep"android:useLevel="false" /></shape>

引用的Activity

<?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"android:orientation="vertical"><TextView android:id="@+id/id_tv_gradientDrawableDemo_Xml1"android:layout_width="200dp"android:layout_height="200dp"android:layout_gravity="center_horizontal"android:layout_margin="10dp"android:background="@drawable/gradient_linear"android:gravity="center"android:text="線性漸變linear-ByXml"android:textColor="@color/bg_black"android:textSize="20sp" /><TextView android:id="@+id/id_tv_gradientDrawableDemo_Xml2"android:layout_width="200dp"android:layout_height="200dp"android:layout_gravity="center_horizontal"android:layout_margin="10dp"android:background="@drawable/gradient_radial"android:gravity="center"android:text="發散漸變radial-ByXml"android:textColor="@color/bg_black"android:textSize="20sp" /><TextView android:id="@+id/id_tv_gradientDrawableDemo_Xml3"android:layout_width="200dp"android:layout_height="200dp"android:layout_gravity="center_horizontal"android:layout_margin="10dp"android:background="@drawable/gradient_sweep"android:gravity="center"android:text="平鋪漸變sweep-ByXml"android:textColor="@color/bg_black"android:textSize="20sp" /></LinearLayout>

運行圖


BitmapDrawable

BitmapDrawable 是對bitmap的一種包裝,可以設置它包裝的bitmap在BitmapDrawable區域內的繪制方式,如平鋪填充、拉伸填充或者保持圖片原始大小,也可以在BitmapDrawable區域內部使用gravity指定的對齊方式。

在xml文件中使用bitmap作為根節點來定義BitmapDrawable。

可選屬性說明:

  • src:圖片資源~ antialias:是否支持抗鋸齒 filter:是否支持位圖過濾,支持的話可以是圖批判顯示時比較光滑
  • dither:是否對位圖進行抖動處理
  • gravity:若位圖比容器小,可以設置位圖在容器中的相對位置
  • tileMode:指定圖片平鋪填充容器的模式,設置這個的話,gravity屬性會被忽略,有以下可選值: disabled(整個圖案拉伸平鋪),clamp(原圖大小), repeat(平鋪),mirror(鏡像平鋪)

Xml的方式

<?xml version="1.0" encoding="utf-8"?> <bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:dither="true" android:src="@drawable/ic_launcher" android:tileMode="mirror" />

JavaCode的方式

import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Shader; import android.graphics.drawable.BitmapDrawable; import android.os.Build; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.widget.ImageView;import com.turing.base.R; import com.turing.base.utils.AlertUtil;public class BitmapDrawableActivity extends AppCompatActivity {private ImageView mIdBitmapDrawableXml;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_bitmap_drawable);mIdBitmapDrawableXml = (ImageView) findViewById(R.id.id_bitmapDrawable_xml);// 通過代碼的方式創建BitmapDrawableBitmap mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.zjl);BitmapDrawable mBitmapDrawable = new BitmapDrawable(mBitmap);mBitmapDrawable.setTileModeXY(Shader.TileMode.MIRROR, Shader.TileMode.MIRROR);mBitmapDrawable.setAntiAlias(true);mBitmapDrawable.setDither(true);if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {mIdBitmapDrawableXml.setBackground(mBitmapDrawable); // mIdBitmapDrawableXml.setImageDrawable(mBitmapDrawable);} else {AlertUtil.showDialogWithClose(this, "API<16 不支持setBackground屬性設置");}} }

這種方式基本上很啰嗦,很少會用到,了解下就好了

運行圖


InsetDrawable

表示把一個Drawable嵌入到另外一個Drawable的內部,并且在內部留一些間距, 類似與Drawable的padding屬性,但padding表示的是Drawable的內容與Drawable本身的邊距! 而InsetDrawable表示的是兩個Drawable與容器之間的邊距,*當控件需要的背景比實際的邊框 小的時候,比較適合使用InsetDrawable*

比如使用這個可以解決我們自定義Dialog與屏幕之間 的一個間距問題,相信做過的朋友都知道,即使我們設置了layout_margin的話也是沒用的,這個 時候就可以用到這個InsetDrawable了!只需為InsetDrawable設置一個insetXxx設置不同 方向的邊距,然后為設置為Dialog的背景即可!


相關屬性如下:

  • drawable:引用的Drawable,如果為空,必須有一個Drawable類型的子節點!
  • visible:設置Drawable是否可見
  • insetLeft,insetRight,insetTop,insetBottm:設置左右上下的邊距
  • Xml的方式

    <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.turing.base.activity.drawable.InsetDrawableActivity"><ImageView android:id="@+id/mIv"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_centerInParent="true"android:background="@drawable/zjl"android:src="@drawable/insetdrawable_simple" /></RelativeLayout>

    insetdrawable_simple.xml

    <?xml version="1.0" encoding="utf-8"?> <inset xmlns:android="http://schemas.android.com/apk/res/android"android:insetBottom="60dp"android:insetLeft="30dp"android:insetRight="30dp"android:insetTop="60dp"android:visible="true"><!--插入一個藍色的矩形作為演示之用--><shape android:shape="rectangle"><solid android:color="#0000ff" /></shape></inset>

    JavaCode的方式

    public class InsetDrawableActivity extends AppCompatActivity {private ImageView mMIv;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_inset_drawable);mMIv = (ImageView) findViewById(R.id.mIv);// JavaCodeInsetDrawable insetDrawable = new InsetDrawable(getResources().getDrawable(R.drawable.zjl), 30, 60, 30, 60);// 設置mMIv.setImageDrawable(insetDrawable);} }


    NinePathDrawable

    如何制作.9圖片

    在AS中使用.9圖需要注意:

    • .9圖片必須放在drawable目錄下,不能存放在mipmap下
    • AS中的.9圖,必須要有黑線,不然編譯都不會通過

    使用“點九”圖片處理技術,可以將圖片橫向和縱向同時進行拉伸,以實現在多分辨率下的完美顯示效果。點九圖片在拉伸時仍能保留圖像的漸變質感和圓角的精細度。

    Android SDK工具集提供了處理點九圖片的工具,可以通過draw9patch.bat運行,通過這個工具可以很容易把普通的PNG圖片處理成“點九”圖片。

    從它的名字也很容易理解“點九”圖的含義,其實相當于把一張PNG圖分成了9個部分(九宮格),分別為4個角,4條邊,以及一個中間區域,4個角是不做拉伸的,所以還能一直保持圓角的清晰狀態,而2條水平邊和2條垂直邊分別只做水平和垂直拉伸,所以不會出現邊框被拉粗的情況,只有中間用黑線指定的區域做拉伸,通過這種處理方式圖片才不會失真。如圖6-5所示,對4條黑線分別做了注釋。左邊和上邊的黑線形成的矩形區域是圖片的拉伸區域,下邊和右邊形成的矩形區域是內容所在的區域。黑線可以是連續的也可以是不連續的,不過為了達到最好的顯示效果,最好使用連續的黑線。

    使用了*.9.png圖片技術后,只需要采用一套界面切圖去適配不同的分辨率,而且大幅減少安裝包的大小。

    要點: 左上拉伸 右下內容

    在xml文件中使用使用nine-patch作為根節點創建NinePatchDrawable。同時,也可以使用bitmap包裝點九圖片,android FrameWork會根據android:src屬性設置的圖片類型來生成對應的drawable。

    不過這樣使用基本也是太啰嗦了,直接設置背景圖就可以了,這里只是說明下可以這樣使用~

    xml定義NinePatchDrawable:

    <!--pic9.xml--> <!--參數依次為:引用的.9圖片,是否對位圖進行抖動處理--> <?xml version="1.0" encoding="utf-8"?> <nine-patch xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/dule_pic" android:dither="true"/>

    使用Bitmap包裝.9圖片:

    <?xml version="1.0" encoding="utf-8"?> <bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/dule_pic" android:dither="true"/>

    最后,需要指出的是,Android雖然可以使用Java代碼創建NinePatchDrawable,但是極少情況會那么做,主要的原因是由于Android SDK會在編譯工程時對點九圖片進行編譯,形成特殊格式的圖片。使用代碼創建NinePatchDrawable時只能針對編譯過的點九圖片資源,對于沒有編譯過的點九圖片資源都當做BitmapDrawable對待。在使用點九圖片時需要注意的是,點九圖只能適用于拉伸的情況,對于壓縮的情況并不適用,如果需要適配很多分辨率的屏幕時需要把點九圖做的小一點。


    ClipDrawable

    ClipDrawable 是對一個Drawable進行剪切操作,可以控制這個drawable的剪切區域,以及相相對于容器的對齊方式,android中的進度條就是使用一個ClipDrawable實現效果的,它根據level的屬性值,決定剪切區域的大小。

    在xml文件中使用clip作為根節點定義ClipDrawable。

    需要注意的是ClipDrawable是根據level的大小控制圖片剪切操作的,官方文檔的note中提到:The drawable is clipped completely and not visible when the level is 0 and fully revealed when the level is 10,000。也就是level的大小從0到10000,level為0時完全不顯示,為10000時完全顯示。是用Drawable提供的setLevel(int level)方法來設置剪切區域。

    • clipOrietntion:設置剪切的方向,可以設置水平和豎直2個方向
    • gravity:從那個位置開始裁剪
    • drawable:引用的drawable資源,為空的話需要有一個Drawable類型的子節點 .
      如果沒有android:drawable屬性,必須要設置一個任意類型的drawable作為子節點
    <?xml version="1.0" encoding="utf-8"?> <clip xmlns:android="http://schemas.android.com/apk/res/android"android:clipOrientation="horizontal"android:gravity="left"><bitmap android:src="@drawable/android_text"android:gravity="center"/> </clip>

    核心:通過代碼修改ClipDrawable的level的值!Level的值是0~10000!

    Code

    在主布局文件中設置一個ImageView,將src設置為clipDrawable! 記住是src,如果你寫成了blackground的話會報空指針

    activity_clip_drawable_actvity.xml

    <?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"><ImageView android:id="@+id/id_iv_clipdrawable"android:layout_width="match_parent"android:layout_height="match_parent"android:src="@drawable/clipdrawable_xml"/></LinearLayout>

    clipdrawable_xml.xml

    <?xml version="1.0" encoding="utf-8"?> <clip xmlns:android="http://schemas.android.com/apk/res/android"android:clipOrientation="horizontal"android:drawable="@drawable/zjl"android:gravity="left"/>

    第一種方式 推薦

    public class ClipDrawableActvity extends AppCompatActivity {private ImageView mIdIvClipdrawable;private ClipDrawable clipDrawable;private Handler handler = new Handler() {@Overridepublic void handleMessage(Message msg) {super.handleMessage(msg);if (msg.what == 0x110) {// level 增加clipDrawable.setLevel(clipDrawable.getLevel() + 500);Message message = Message.obtain();message.what = 0x110;handler.sendMessageDelayed(message, 500);if (clipDrawable.getLevel() > 10000) {handler.removeMessages(0x110);}}}};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_clip_drawable_actvity);mIdIvClipdrawable = (ImageView) findViewById(R.id.id_iv_clipdrawable);clipDrawable = (ClipDrawable) mIdIvClipdrawable.getDrawable();handler.sendEmptyMessage(0x110);}}

    第二種方式:

    public class ClipDrawableActvity extends AppCompatActivity {private ImageView mIdIvClipdrawable;private ClipDrawable clipDrawable;private Handler handler = new Handler() {@Overridepublic void handleMessage(Message msg) {super.handleMessage(msg);if (msg.what == 0x110) {// level 增加clipDrawable.setLevel(clipDrawable.getLevel() + 500);}}};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_clip_drawable_actvity);mIdIvClipdrawable = (ImageView) findViewById(R.id.id_iv_clipdrawable);clipDrawable = (ClipDrawable) mIdIvClipdrawable.getDrawable();// 開啟定時任務final Timer timer = new Timer();timer.schedule(new TimerTask() {@Overridepublic void run() {handler.sendEmptyMessage(0x110);// 到達最大值后,取消任務if (clipDrawable.getLevel() > 10000) {timer.cancel();}}}, 0, 500);}}

    運行圖


    ScaleDrawable

    ScaleDrawable是對一個Drawable進行縮放操作,可以根據level屬性控制這個drawable的縮放比率,也可以設置它在容器中的對齊方式。

    在xml文件中使用scale作為根節點來創建RotateDrawable。

    • android:drawable 指定drawable資源,如果不設置該屬性,也可以定義drawable類型的子標簽

    • android:scaleHeight 設置可縮放的高度,用百分比表示,格式為XX%,
      0%表示不做任何縮放,50%表示只能縮放一半

    • android:scaleWidth 設置可縮放的寬度,用百分比表示,格式為XX%,
      0%表示不做任何縮放,50%表示只能縮放一半

    • android:scaleGravity 設置drawable縮放后的位置,取值和bitmap標簽的一樣,默認值是left

    http://stackoverflow.com/questions/5507539/android-scaledrawable-doesnt-seems-to-work

    首先聲明一下,通過xml的方式 無效了。。。。。。

    Code

    <ImageView android:id="@+id/id_show_scaleDrawable"android:layout_width="match_parent"android:layout_height="match_parent"android:src="@drawable/scaledrawable_simple"/>

    scaledrawable_simple.xml

    <?xml version="1.0" encoding="utf-8"?> <scale xmlns:android="http://schemas.android.com/apk/res/android"android:drawable="@drawable/face"android:scaleGravity="center"android:scaleHeight="100%"android:scaleWidth="100%" />

    sorry,這樣行不通了。 我們用代碼的方式來創建吧

    public class ScaleDrawableActivity extends AppCompatActivity {private ImageView mIdShowScaleDrawable;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_scale_drawable);mIdShowScaleDrawable = (ImageView) findViewById(R.id.id_show_scaleDrawable);Resources res = getResources();BitmapDrawable bd = (BitmapDrawable) res.getDrawable(R.drawable.zjl);Bitmap b = Bitmap.createScaledBitmap(bd.getBitmap(),(int) (bd.getIntrinsicHeight() * 0.7),(int) (bd.getIntrinsicWidth() * 0.7),false);mIdShowScaleDrawable.setImageBitmap(b);} } <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.turing.base.activity.drawable.ScaleDrawableActivity"><ImageView android:id="@+id/id_show_scaleDrawable"android:layout_width="wrap_content"android:layout_height="wrap_content"/> </RelativeLayout>


    RotateDrawable

    RotateDrawable 是對一個Drawable進行旋轉操作,可以根據level屬性控制這個drawable旋轉角度,也可以設置相對于它所在容器的對齊方式。

    用來對Drawable進行旋轉,也是通過setLevel來控制旋轉的,最大值也是:10000

    在xml文件中使用rotate作為根節點來定義RotateDrawable.

    • fromDegrees:起始的角度,,對應最低的level值,默認為0
    • toDegrees:結束角度,對應最高的level值,默認360
    • pivotX:設置參照點的x坐標,取值為0~1,默認是50%,即0.5
    • pivotY:設置參照點的Y坐標,取值為0~1,默認是50%,即0.5 ps:如果出現旋轉圖片顯示不完全的話可以修改上述兩個值解決!
    • drawable:設置位圖資源
    • visible:設置drawable是否可見!

    Code

    <?xml version="1.0" encoding="utf-8"?> <rotate xmlns:android="http://schemas.android.com/apk/res/android"android:drawable="@drawable/zjl"android:pivotX="50%"android:pivotY="50%"android:fromDegrees="180"/>


    AnimationDrawbale

    詳見本人另外博客
    AnimationDrawable類:幀動畫類

    AnimationDrawable 對應于Android中的幀動畫,就是把一系列的drawable按照一定的順序,一幀一幀的播放,并且可以使用android:oneshot屬性設置是否循環播放。

    在xml文件中使用animation-list作為根節點定義AnimationDrawable,使用item設置需要播放的每一幀使用的drawable資源,以及每一幀持續的時常。


    <?xml version="1.0" encoding="utf-8"?><!--根標簽為animation-list,其中oneshot代表著是否只展示一遍,設置為false會不停的循環播放動畫根標簽下,通過item標簽對動畫中的每一個圖片進行聲明android:duration 表示展示所用的該圖片的時間長度--> <animation-list xmlns:android="http://schemas.android.com/apk/res/android"android:oneshot="true"><item android:drawable="@drawable/horse1"android:duration="100" /><item android:drawable="@drawable/horse2"android:duration="100" /><item android:drawable="@drawable/horse3"android:duration="100" /><item android:drawable="@drawable/horse4"android:duration="100" /><item android:drawable="@drawable/horse5"android:duration="100" /><item android:drawable="@drawable/horse6"android:duration="100" /><item android:drawable="@drawable/horse7"android:duration="100" /><item android:drawable="@drawable/horse8"android:duration="100" /> </animation-list>

    定義了AnimationDrawable之后需要主動調用AnimationDrawable的start播放動畫,需要注意的是,當我們在Activity的oncreate方法中調用start方法時會沒有任何效果,那是因為view還沒有初始化完成,無法播放動畫,所以需要使用handler來延遲播放動畫,具體實現代碼如下:

    mHandler.postDelayed(new Runnable() {@Overridepublic void run() {((AnimationDrawable)mDrawable).start();} }, 1000);


    LayerDrawable

    LayerDrawable 管理一組drawable,每個drawable都處于不同的層,當它們被繪制的時候,按照順序全部都繪制到畫布上。雖然這些drawable會有交差或者重疊的區域,但是它們是位于不同的層,彼此之間不會影響。

    在xml文件中使用layer-list作為根節點來定義LayerDrawable,通過item子節點定義每一層的drawable,layer-list沒有屬性節點,只包含item子節點。


    • drawable:引用的位圖資源,如果為空徐璈有一個Drawable類型的子節點
    • left:層相對于容器的左邊距
    • right:層相對于容器的右邊距
    • top:層相對于容器的上邊距
    • bottom:層相對于容器的下邊距
    • id:層的id

    Code

    下面我們通過一個自定義的Seekbar來演示下如何使用:

    <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context="com.turing.base.activity.drawable.LayerDrawableActivity"><SeekBar android:layout_width="match_parent"android:layout_height="wrap_content"android:indeterminateDrawable="@android:drawable/progress_indeterminate_horizontal"android:indeterminateOnly="false"android:maxHeight="10dp"android:minHeight="5dp"android:progressDrawable="@drawable/layerxml"android:thumb="@drawable/shape_slider"/></RelativeLayout>

    layerxml.xml

    <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"><item><shape android:shape="rectangle"><corners android:radius="50dp" /><solid android:color="#C2C2C1" /></shape></item><item><clip><shape><corners android:radius="50dp" /><solid android:color="#BCDA73" /></shape></clip></item></layer-list>

    shape_slider.xml

    <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="oval"><solid android:color="#2C96ED"/><size android:height="30dp" android:width="30dp"/> </shape>

    主Activity

    public class LayerDrawableActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_layer_drawable);} }

    運行圖


    LevelListDrawable

    管理一組drawable,每一個drawable都對應一個level范圍,當它們被繪制的時候,根據level屬性值選取對應的一個drawable繪制到畫布上。

    在xml文件中使用level-list作為根節點來定義LevelListDrawable,通過item子節點定義每一層的drawable,level-list沒有屬性節點,只包含item子節點。


    item可供設置的屬性如下:

    • drawable:引用的位圖資源,如果為空需要有一個Drawable類型的子節點
    • minlevel:level對應的最小值
    • maxlevel:level對應的最大值

    通過shapeDrawable畫圓,一式五份,改下寬高即可:

    <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="oval"><solid android:color="#2C96ED"/><size android:height="20dp" android:width="20dp"/> </shape>

    接著到LevelListDrawable,這里我們設置五層:

    <?xml version="1.0" encoding="utf-8"?> <level-list xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@drawable/shape_circle1" android:maxLevel="2000"/><item android:drawable="@drawable/shape_circle2" android:maxLevel="4000"/><item android:drawable="@drawable/shape_circle3" android:maxLevel="6000"/><item android:drawable="@drawable/shape_circle4" android:maxLevel="8000"/><item android:drawable="@drawable/shape_circle5" android:maxLevel="10000"/></level-list>

    引用

    android:src 一定要是src ,不能使background,否則會拋出空指針異常。

    <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><ImageView android:id="@+id/id_iv_levellist"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerInParent="true"android:src="@drawable/levellist" /> </RelativeLayout> import android.graphics.drawable.LevelListDrawable; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.v7.app.AppCompatActivity; import android.widget.ImageView;import com.turing.base.R;public class LevelListDrawableActivity extends AppCompatActivity {private ImageView imageView;private LevelListDrawable levelListDrawable;private Handler handler = new Handler() {@Overridepublic void handleMessage(Message msg) {switch (msg.what) {case 0x110:if (levelListDrawable.getLevel() > 10000) {// 設置為0 ,循環展示levelListDrawable.setLevel(0);imageView.setImageLevel(0);//移除消息// handler.removeMessages(0x110);}imageView.setImageLevel(levelListDrawable.getLevel() + 2000);Message message = Message.obtain();message.what = 0x110;handler.sendMessageDelayed(message, 500);break;default:break;}}};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_level_list_drawable);imageView = (ImageView) findViewById(R.id.id_iv_levellist);levelListDrawable = (LevelListDrawable) imageView.getDrawable();imageView.setImageLevel(0);handler.sendEmptyMessage(0x110);} }


    StateListDrawable

    StateListDrawable管理一組drawable,每一個drawable都對應著一組狀態,狀態的選擇類似于java中的switch-case組合,按照順序比較狀態,當遇到匹配的狀態后,就返回對應的drawable,因此需要把最精確的匹配放置在最前面,按照從精確到粗略的順序排列。

    StateListDrawable在Android中使用的非常廣泛,所有控件的背景基本上都使用了StateListDrawable,比如按鈕就具有很多狀態,按下狀態、選中狀態、默認狀態、禁用狀態等等,像這樣在不用的狀態下顯示效果不一樣的時候,就是需要使用StateListDrawable的時候。

    在xml文件中使用selector作為根節點來定義StateListDrawable,并使用item定義不同狀態下的drawable。


    <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"><!-- 當前窗口失去焦點時 --><item android:drawable="@drawable/bg_btn_lost_window_focused" android:state_window_focused="false" /><!-- 不可用時 --><item android:drawable="@drawable/bg_btn_disable" android:state_enabled="false" /><!-- 按壓時 --><item android:drawable="@drawable/bg_btn_pressed" android:state_pressed="true" /><!-- 被選中時 --><item android:drawable="@drawable/bg_btn_selected" android:state_selected="true" /><!-- 被激活時 --><item android:drawable="@drawable/bg_btn_activated" android:state_activated="true" /><!-- 默認時 --><item android:drawable="@drawable/bg_btn_normal" /></selector>


    TransitionDrawable

    TransitionDrawable 是LayerDrawable的子類,不過它只負責管理兩層drawable,并且提供了一個透明度變化的動畫,可以控制從一層drawable過度到另外一層drawable的動畫效果。

    在xml文件中使用transition作為根節點來定義TransitionDrawable,通過item子節點定義兩層使用的drawable

    優秀的文章1

    優秀的文章2

    總結

    以上是生活随笔為你收集整理的Android各种各样的Drawable-更新中的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    中文字幕观看视频 | 亚洲 欧洲av | 亚洲国产av精品毛片鲁大师 | 一级做a爱片性色毛片www | 亚洲一区二区视频在线播放 | 国产中文字幕在线 | 国产福利一区二区在线 | 韩国一区二区三区在线观看 | 亚洲艳情| 色射爱 | 久久99久久99精品免费看小说 | 热久久最新地址 | 久久国产成人午夜av影院宅 | 91在线中字 | 日韩久久精品一区二区 | 成人性生交大片免费看中文网站 | 色噜噜在线观看视频 | 91成人在线观看喷潮 | 成人午夜在线观看 | 日韩欧美在线综合网 | 在线观看91视频 | 91av在线不卡| 91中文字幕网 | 久久嗨| 中文字幕中文字幕中文字幕 | 热久久免费国产视频 | 国产视频色 | 日韩精品欧美精品 | 免费的黄色av | 在线免费观看的av网站 | 久草在线免费色站 | 久久电影网站中文字幕 | 成年人视频在线免费 | 狠狠干天天干 | 亚洲日本国产精品 | 亚洲天堂精品 | www.五月天色 | 欧美成天堂网地址 | 色综合在 | 亚洲激情六月 | 中文字幕人成乱码在线观看 | 婷婷六月丁 | 欧美激精品 | av软件在线观看 | 国产精彩视频一区二区 | 国产精品人成电影在线观看 | 青青河边草免费视频 | 欧美性色xo影院 | 亚洲婷婷丁香 | 99色免费视频 | 国产999免费视频 | 人人要人人澡人人爽人人dvd | 国产一二三四在线观看视频 | 久久躁日日躁aaaaxxxx | 国产精品高潮呻吟久久久久 | 亚洲成av人片 | 国产 在线 高清 精品 | 国产91精品看黄网站 | 免费成人短视频 | 欧美一区中文字幕 | 精品视频123区在线观看 | 一区二区理论片 | 免费在线观看成人av | 精品91在线 | 深爱开心激情 | 色网站中文字幕 | av夜夜操 | 免费欧美高清视频 | avwww在线| 中文字幕亚洲欧美日韩 | 国产精品一区二区av日韩在线 | 91麻豆精品国产91久久久无需广告 | 中文字幕久久精品 | 欧美粗又大 | 午夜 免费| 九九视频网站 | 亚洲国产欧洲综合997久久, | 波多在线视频 | 奇米影视8888 | 午夜影院先 | 青草视频在线看 | 免费看成人a | 91传媒激情理伦片 | 亚洲天堂网在线播放 | 日本中文在线播放 | 91久久人澡人人添人人爽欧美 | 在线观看视频你懂得 | 日韩av进入 | 综合天堂av久久久久久久 | 日本在线观看一区二区三区 | 国产一级h| 福利一区在线 | 免费视频区 | 九九久久久久久久久激情 | 狠狠色丁香九九婷婷综合五月 | 精品久久久久久久久久久院品网 | 国产精品18毛片一区二区 | 激情图片区 | 在线91观看 | 久操伊人 | 午夜久久精品 | www.在线看片.com | 免费的黄色av | 国产在线精品区 | 九九热国产 | 天天插天天操天天干 | 亚洲第一久久久 | 亚洲精品视频网 | 欧美日韩高清一区二区 国产亚洲免费看 | 国产一区网 | 色婷婷啪啪免费在线电影观看 | 久草在线高清视频 | 欧美中文字幕第一页 | 91成人精品在线 | 成年人在线观看网站 | 亚洲免费观看视频 | 伊人亚洲综合 | 久久一区二区三区日韩 | 五月天欧美精品 | 亚洲精品久久久蜜臀下载官网 | 麻豆播放 | 日韩精品久久久久久久电影竹菊 | 一区二区三区影院 | 91成人免费 | 夜色资源站国产www在线视频 | a v在线视频 | 欧美一级片在线 | www色,com| 久久精品亚洲 | 999色视频 | 在线日本v二区不卡 | 亚洲精品视频免费观看 | 91亚洲夫妻 | 黄色片亚洲 | 欧美成人xxxx | 亚洲精品一区二区三区新线路 | 九九精品久久久 | 国产精品av在线免费观看 | 一区二区三区高清在线观看 | 天天爱天天爽 | 男女激情网址 | 久九视频 | 国产成人亚洲精品自产在线 | 欧美日韩性视频在线 | 日韩黄色中文字幕 | 天堂久久电影网 | 99视 | 国产精品精品国产色婷婷 | 一区二区不卡视频在线观看 | 一区二区视频免费在线观看 | 一区二区三区在线免费播放 | 999久久久久久久久6666 | 免费av小说 | 欧美a级在线播放 | 天堂入口网站 | 久久久久久久久久久成人 | 99精品欧美一区二区三区 | 韩国三级在线一区 | 国产成人av免费在线观看 | 国产aa免费视频 | 丁香六月在线观看 | 精品国产乱码久久久久久1区二区 | 国产91精品一区二区麻豆亚洲 | 超碰在线免费97 | 成人一区二区三区在线观看 | 久久夜色精品国产亚洲aⅴ 91chinesexxx | 亚洲日本va午夜在线电影 | 久久久综合九色合综国产精品 | 在线天堂中文在线资源网 | 日韩午夜在线播放 | 国产婷婷一区二区 | 色婷婷影视 | 久久8精品| 精品久久久久久亚洲综合网 | 亚洲精品视频国产 | 天堂av在线免费 | av在线免费观看不卡 | 精品久久一区 | 久久久精品欧美一区二区免费 | 97超碰资源网 | 久久高清免费视频 | 免费99精品国产自在在线 | 国产高清视频色在线www | 在线观看免费色 | 91在线观看黄 | 中文视频一区二区 | 亚洲欧美一区二区三区孕妇写真 | 久久精品国产精品亚洲 | 香蕉视频18 | 久久精品久久久久 | 少妇性bbb搡bbb爽爽爽欧美 | 欧美另类高清 videos | 精品视频在线免费 | 国产一区二区在线精品 | 在线观看欧美成人 | 日批视频在线播放 | 99久热在线精品 | 337p日本欧洲亚洲大胆裸体艺术 | 久久久三级视频 | 国产精品18久久久久久久久久久久 | 亚洲视频中文 | 国产精品美女999 | 久久这里精品视频 | 亚洲精品视频免费观看 | 久久国产精品精品国产色婷婷 | av观看免费在线 | av福利电影 | 日韩免费看视频 | 狠狠的干狠狠的操 | 国产精品99久久久久久大便 | 久久视频国产 | 摸bbb搡bbb搡bbbb| 美女中文字幕 | 特黄一级毛片 | 最新动作电影 | 日韩免费b | 亚洲精品免费在线视频 | 久久精国产 | 中文字幕成人一区 | 日韩中文字幕在线观看 | 超碰伊人网 | 人人揉人人揉人人揉人人揉97 | av综合 日韩| 国产精品露脸在线 | 国产原创在线 | 69国产成人综合久久精品欧美 | 国产精品99免费看 | 操高跟美女| 麻豆mv在线观看 | 99精品电影 | 日韩精品视频免费专区在线播放 | 免费观看性生活大片3 | 国产精品久久久久久久久久久久午夜 | 欧美男男激情videos | 国产美女精品视频 | 国产色婷婷在线 | 国产精品麻豆一区二区三区 | 在线国产能看的 | 九九欧美视频 | 欧美日韩有码 | 一区二区视频播放 | 国内免费的中文字幕 | 欧美一区二区三区在线视频观看 | av青草| 中文字幕色婷婷在线视频 | 欧美精品亚洲二区 | www.五月天激情| 操天天操| 精品你懂的 | 黄色一级在线免费观看 | 韩国在线视频一区 | 99热最新在线 | 国产黄网在线 | 91精品爽啪蜜夜国产在线播放 | av丁香花 | 在线亚洲小视频 | 国产精品午夜免费福利视频 | 九色精品免费永久在线 | 在线观看成人av | 中文字幕免费观看全部电影 | 色婷久久 | 五月婷婷在线视频观看 | 五月天六月婷婷 | 韩日av在线 | 欧美少妇18p | 亚洲国产综合在线 | 免费三级黄 | 91久久久久久久一区二区 | 综合激情久久 | 韩日电影在线免费看 | 91人人视频在线观看 | 久久视频免费 | 在线日韩| 久草a在线 | 国产无套视频 | 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 91人人爱| 天天综合久久综合 | 久久人人爽人人爽人人片av软件 | 国产女教师精品久久av | 亚洲成人资源在线观看 | 日韩精品中文字幕在线观看 | 亚洲精品久久久久58 | 偷拍精品一区二区三区 | 国产中文视 | 99久久影院| 日韩精品欧美专区 | 国产色啪| 日韩精品久久久久久久电影99爱 | 日韩电影在线观看一区二区 | 91少妇精拍在线播放 | 亚洲成人午夜av | 日韩精品视频网站 | 水蜜桃亚洲一二三四在线 | 国产精品人成电影在线观看 | 91精品视频免费在线观看 | 麻豆一精品传二传媒短视频 | 国产专区欧美专区 | 久久久久久久久久伊人 | 日韩精品在线观看av | 亚洲午夜剧场 | 99精品免费久久久久久久久 | 四虎www| www.福利 | 波多野结衣在线观看视频 | 国产精品综合久久久久久 | 亚洲视频免费在线看 | 91av色 | 免费人成网ww44kk44 | 国产午夜精品一区二区三区欧美 | 色婷婷狠狠操 | 久久黄色影院 | 91av手机在线观看 | av在线免费在线观看 | 黄色亚洲| 最近免费中文视频 | 91丝袜美腿 | 亚洲电影一级黄 | 国产一性一爱一乱一交 | 国内精品免费 | 久久久影片 | 欧美日在线 | 美国av片在线观看 | 青青草国产成人99久久 | 免费看片网址 | 欧美 激情 国产 91 在线 | 久久精品中文字幕 | 永久免费毛片在线观看 | 精品国模一区二区 | 免费欧美高清视频 | 99热最新在线 | 午夜视频免费 | 国产精品少妇 | 黄色一级动作片 | 伊人久久电影网 | 久久激情精品 | 探花视频免费观看高清视频 | 成年人在线免费视频观看 | 中文字幕免费国产精品 | 四虎影视欧美 | 中文字幕在线视频网站 | 欧美精品一区二区性色 | 久久一区国产 | 国产麻豆电影 | 特级毛片在线免费观看 | 五月婷婷综合久久 | 欧美三级高清 | 日日干视频| 国产麻豆精品免费视频 | 欧美 激情 国产 91 在线 | 亚洲精品久久久久久久蜜桃 | 久久国产经典 | 久久综合色播五月 | 操操操人人 | 色av资源网| 91理论电影| 婷婷久久综合九色综合 | 91av视屏 | 日本视频网 | 99综合电影在线视频 | 日韩一级片观看 | 日本二区三区在线 | 久久精品香蕉视频 | 天天躁日日躁狠狠 | 看片的网址 | 欧美精品一区在线 | 精品国产视频在线 | 国产精品欧美日韩在线观看 | 黄色三级在线观看 | 国产精品色婷婷视频 | 视频一区二区精品 | 日本精a在线观看 | 免费日韩三级 | 国产精品2018| 午夜免费福利视频 | 亚洲无线视频 | 六月激情丁香 | 午夜久久久久 | 高潮久久久久久久久 | 国产在线精品区 | 婷婷六月网 | 制服丝袜成人在线 | 美女网站免费福利视频 | 久草久草在线 | 久久麻豆视频 | 亚欧日韩成人h片 | 精品视频免费在线 | 午夜久久网站 | 免费国产在线观看 | 99久久精品无码一区二区毛片 | 欧美性视频网站 | 久久久99精品免费观看app | www.久久久精品| 国产精品破处视频 | 天无日天天操天天干 | 久久99深爱久久99精品 | 国产精品欧美在线 | 久久综合射 | 免费观看一级特黄欧美大片 | 亚洲理论在线观看 | 麻豆影视网| 天天射网 | 国产精品久久网 | 成人免费视频在线观看 | 欧美日韩视频在线一区 | 99热播精品 | 国产成人精品国内自产拍免费看 | 亚洲人天堂 | 日韩在线小视频 | 日本精品视频免费 | 精产嫩模国品一二三区 | 毛片激情永久免费 | 欧美日韩在线电影 | 日韩高清成人在线 | 国产一区高清在线 | 久久成人黄色 | 国产黄色免费电影 | 91精品在线免费视频 | 久热国产视频 | 天天操天天操天天操天天 | 精品一区在线看 | 久久免费精品视频 | 久久综合九色欧美综合狠狠 | 香蕉视频免费在线播放 | 欧美成人理伦片 | 99色免费视频 | 亚洲国产精品影院 | 国产精品九九久久久久久久 | 国产一区精品在线观看 | 国产成人精品综合久久久 | 成人影视免费 | 97在线视频免费 | www.激情五月.com | 天天操夜操视频 | 久久99热精品 | 视频高清 | 天天插日日操 | 精品久久久久久电影 | 激情黄色一级片 | 国产精品久久久区三区天天噜 | 久久九九影视 | 亚洲国产影院 | 美女一级毛片视频 | 热久久国产精品 | 亚洲高清视频在线 | 婷婷精品国产欧美精品亚洲人人爽 | 99精品电影 | 91麻豆文化传媒在线观看 | 色婷婷综合视频在线观看 | 欧美先锋影音 | 99视频在线精品国自产拍免费观看 | 久久久久9999亚洲精品 | 日韩一区二区三区观看 | 国产一区二区三区视频在线 | 欧美一二三专区 | 99操视频| 国产一级做a爱片久久毛片a | 四虎8848免费高清在线观看 | 国产免费黄色 | 久久韩国免费视频 | 波多野结衣视频在线 | 午夜国产影院 | 久久久久久高潮国产精品视 | 精品久久久国产 | 中文视频在线看 | 午夜久久久影院 | 91麻豆精品国产自产在线 | 中文字幕a∨在线乱码免费看 | 日韩电影在线视频 | 久久成人高清 | 99爱视频 | 日本成人免费在线观看 | 婷婷av综合 | 国产精品一区二区免费看 | 久久五月天婷婷 | 欧美日韩高清一区二区 国产亚洲免费看 | 黄色毛片网站在线观看 | 97免费公开视频 | 五月天综合激情 | 97超碰在线播放 | 亚洲综合婷婷 | 成年人视频在线免费播放 | 99在线视频播放 | 96精品高清视频在线观看软件特色 | 成人啪啪18免费游戏链接 | 国产第一页福利影院 | 久久9999久久免费精品国产 | 亚洲精品在线免费播放 | 久久久久久久影视 | 中文字幕免费一区二区 | 天天操天天操天天爽 | 中文字幕一区二区三区在线播放 | 欧美色综合久久 | 911免费视频 | 日本爱爱免费 | 久久精品视频网 | 日本中文字幕在线看 | 99久久影视| 欧美亚洲国产一卡 | 美女免费黄网站 | 天天色天天艹 | 欧美日韩久久久 | 久久久久久精 | 欧美日韩在线观看一区二区三区 | 久久精品播放 | 国产中文欧美日韩在线 | 在线观看成人国产 | www亚洲一区 | 久草影视在线观看 | 黄污网站在线观看 | 色综合久久久久综合99 | 国产精国产精品 | www中文在线 | 色婷婷综合五月 | 黄色软件视频网站 | 亚洲一级电影视频 | 亚洲视频在线播放 | 午夜精品久久久久久久99 | 久久久久久久久免费视频 | 一区二区三区韩国免费中文网站 | 国产精品一区二区久久国产 | 成人久久精品 | 国产精品青草综合久久久久99 | 91成人免费 | 91亚色视频 | 亚洲精品白浆高清久久久久久 | 在线观av| 成年人在线免费看视频 | 97中文字幕 | 国产伦精品一区二区三区四区视频 | 黄色软件在线观看免费 | 国产精品1区 | 色香蕉在线 | 亚洲综合婷婷 | 国产色视频一区二区三区qq号 | 美女一级毛片视频 | 91视频一8mav| 韩国av电影网 | 国产精品九九视频 | 亚洲精品裸体 | 国产精品欧美激情在线观看 | 欧美a级免费视频 | 亚洲精品乱码 | 91av视频播放 | 国内成人精品视频 | 久久草在线视频国产 | 99久久精品免费看 | 国产成人精品999在线观看 | 久久久国产精品一区二区三区 | 激情视频91| 九九九九色 | 九九久久久久久久久激情 | 精品国产欧美一区二区三区不卡 | 五月婷香蕉久色在线看 | 久久情网 | 欧美精品久久久久久久免费 | 精品欧美一区二区三区久久久 | 四虎精品成人免费网站 | 天天激情综合网 | 9在线观看免费高清完整版 玖玖爱免费视频 | 日韩精品一区二区三区丰满 | 欧美一级电影免费观看 | 国产精品美女久久久久久免费 | 中文字幕在线观看一区二区 | 网站免费黄 | 二区三区在线 | 麻豆免费看片 | 天堂在线免费视频 | 亚洲最新av在线 | 四虎影视精品永久在线观看 | 激情欧美一区二区三区免费看 | 曰本三级在线 | 二区三区av | 手机成人在线电影 | 亚洲成熟女人毛片在线 | 欧美综合在线观看 | 午夜精品一区二区三区四区 | 久久色在线播放 | 久久99这里只有精品 | 欧美日韩国产在线观看 | 精品久久电影 | 亚洲激情视频在线 | 色网站在线观看 | 在线国产99 | 91精品国产一区二区三区 | 五月天六月婷 | 精品成人国产 | 免费特级黄色片 | 成人欧美一区二区三区在线观看 | 97精品国产97久久久久久 | 亚洲免费成人av电影 | 麻豆传媒在线视频 | av电影免费 | 91麻豆网站| 在线国产高清 | 日日操操| 亚洲国产人午在线一二区 | 93久久精品日日躁夜夜躁欧美 | 欧美另类重口 | 久久成人国产精品入口 | 黄毛片在线观看 | 人人爽人人爽av | 中文字幕乱视频 | 国产精品v欧美精品v日韩 | 黄色av影视 | 国产福利不卡视频 | 欧美久久久一区二区三区 | 国产成人一区二区三区影院在线 | 欧美久久影院 | 免费色网| 天天躁日日躁狠狠 | 亚洲免费在线观看视频 | 国产精品小视频网站 | 国产一区国产精品 | 久久精品精品电影网 | 国产黄色一级片在线 | 在线高清一区 | 国产精品久久久久久久午夜片 | 黄色三几片 | 粉嫩一区二区三区粉嫩91 | wwwav视频 | 色天天| 日精品| 日韩电影一区二区在线 | 日本黄色免费观看 | 午夜丰满寂寞少妇精品 | 久久开心激情 | 久久影视中文字幕 | 中文字幕在线影视资源 | 中文字幕一区二区三区四区视频 | 久热香蕉视频 | 天天操天天射天天 | 久久夜夜操 | 91av免费看| 韩国av不卡 | 免费中文字幕在线观看 | 国产精品久久麻豆 | 成人免费在线播放视频 | 五月激情丁香婷婷 | 右手影院亚洲欧美 | 亚洲免费资源 | av福利电影 | 欧美国产视频在线 | 91久久影院 | 国产在线黄色 | 日韩电影在线一区 | 色噜噜日韩精品欧美一区二区 | 在线免费观看视频你懂的 | 久久精品久久久久久久 | 字幕网在线观看 | 中文字幕电影在线 | 国产高清视频免费最新在线 | 国产裸体视频网站 | 日韩在线观看a | 一区二区久久久久 | 成人av高清在线 | 久99久精品视频免费观看 | 午夜视频在线观看一区二区三区 | 亚洲专区在线播放 | 91视频91自拍 | 91在线文字幕 | 国产精品女教师 | 欧美专区国产专区 | 激情av综合 | 最新国产精品亚洲 | 在线成人一区二区 | 精品不卡视频 | 99视频精品在线 | 免费在线观看av电影 | 中文字幕色站 | 久久福利精品 | 欧美日韩高清在线一区 | 99视频久久 | 最近中文字幕视频完整版 | 欧女人精69xxxxxx | 三级黄色网络 | 成年人视频免费在线 | 国产精品久久久久久久久久久久久久 | 超碰在线最新 | 88av网站| 美女网站视频色 | 精品国产综合区久久久久久 | 91在线视频导航 | 日韩精品一区二区久久 | 国产色一区| 在线国产欧美 | 免费看毛片在线 | 91福利社区在线观看 | 亚洲婷婷在线 | 国产网红在线观看 | 婷婷日| 欧美日韩中文字幕视频 | 一区二区三区韩国免费中文网站 | 在线观看免费版高清版 | 欧美激精品| 亚洲精品456在线播放第一页 | 欧美激情视频一区 | 日韩羞羞 | 国产在线p | 亚洲乱亚洲乱妇 | 国产精品刺激对白麻豆99 | 成人久久18免费 | 欧美日一级片 | 夜夜躁天天躁很躁波 | 久久综合免费视频 | 国产一级不卡毛片 | 国产美女在线观看 | www视频在线观看 | 2019精品手机国产品在线 | 亚洲成人动漫在线观看 | 精品美女久久久久久免费 | 全黄网站 | 成人精品久久久 | 在线观看视频你懂 | 欧美伦理一区二区 | 99精品免费久久久久久久久 | 天天综合网久久综合网 | 国内精品久久久久影院日本资源 | 日韩精品视频在线观看网址 | 日韩三级在线观看 | 国产高清视频免费观看 | 国产v视频| 午夜精品一区二区三区视频免费看 | 国产精品国产三级国产aⅴ9色 | 在线观看精品视频 | 91午夜精品 | 久久精品超碰 | 999视频在线观看 | 亚洲精品在线免费播放 | 91精品国产91 | 免费人成在线观看 | 欧美专区国产专区 | 欧美日韩精品在线视频 | 久久久亚洲电影 | 日本黄色大片免费看 | 99精品一区 | 成人午夜电影网站 | 99久久精品国产亚洲 | 日韩小视频 | 国产剧情av在线播放 | 日韩乱色精品一区二区 | 国产精品精品久久久久久 | 免费91麻豆精品国产自产在线观看 | 天天干天天操人体 | 亚洲国产中文字幕 | 日韩精品高清视频 | 国产黄色高清 | 五月婷婷电影网 | 天天干天天天天 | 亚洲精品一区二区三区四区高清 | 欧美久久久久久久久久 | 久草电影免费在线观看 | 日韩av一区二区三区 | 国产精品资源在线 | 免费av网站在线 | a级国产乱理伦片在线播放 久久久久国产精品一区 | 精品免费一区二区三区 | 狠狠色噜噜狠狠狠狠2021天天 | 99久热在线精品视频观看 | 999久久国产精品免费观看网站 | 91自拍91 | 91亚洲精品乱码久久久久久蜜桃 | 国产成人福利片 | 国产在线观看地址 | 欧美极品一区二区三区 | 免费看的黄色的网站 | 九九影视理伦片 | 国产在线成人 | 夜添久久精品亚洲国产精品 | 午夜av大片 | 6080yy精品一区二区三区 | 欧美极品xxxx| 91在线公开视频 | 中文字幕在线国产精品 | 婷婷激情综合网 | 国产精品久久久久久久av大片 | 欧美国产日韩一区二区 | 久久精品一区二区三区四区 | 亚洲狠狠丁香婷婷综合久久久 | 超碰人人99 | 依人成人综合网 | 国产精品美女免费 | 久草在线免费在线观看 | 日韩啪啪小视频 | av超碰在线观看 | 视频在线一区二区三区 | 国产无套精品久久久久久 | 亚洲成人精品在线观看 | 久久成人国产 | 99av在线视频| 婷婷丁香激情综合 | 成人午夜免费剧场 | 日韩一二三 | 国产91aaa | 日韩二区三区在线 | 国产精品门事件 | 国产呻吟在线 | 私人av| 天天色天天射天天干 | 天天摸日日摸人人看 | 999国内精品永久免费视频 | 五月天久久狠狠 | 中文字幕在线观看一区二区 | 精品视频久久久 | 国产做a爱一级久久 | 成人av在线一区二区 | 国产精品毛片久久蜜 | 欧美日韩中文在线观看 | 国产精品高清一区二区三区 | 成年人免费看的视频 | 亚洲成免费 | 国产一级片久久 | 国产精品一区二区三区久久 | 伊人激情综合 | 五月婷婷在线观看 | 欧美成人91| 人人爽人人射 | 国产精品综合久久久 | 一区二区三区在线视频111 | 黄色精品在线看 | 免费黄色a级毛片 | 国产精品一区专区欧美日韩 | 91一区在线观看 | 久久久美女 | 国产九九热视频 | 成人播放器| 久热这里有精品 | 六月天色婷婷 | 国产精彩视频一区二区 | 免费在线观看一级片 | 美女免费网站 | 深爱五月网 | 五月婷婷视频在线 | 国产在线精品一区二区三区 | 99国产视频 | 亚洲欧美一区二区三区孕妇写真 | 一区二区三区中文字幕在线观看 | www.香蕉视频| 欧美日韩国产二区 | 色五月成人 | 欧美一级片在线免费观看 | 一色av | 99久久精品费精品 | 91在线永久 | 色com网 | 日韩一区二区免费在线观看 | 精品成人免费 | 在线精品播放 | 欧美一级片免费在线观看 | 成人午夜av电影 | 国产精品久久99综合免费观看尤物 | 九九精品久久 | 国产a高清 | 麻豆一二三精选视频 | 91九色在线视频观看 | 天天操天天干天天操天天干 | 成人免费看片98欧美 | 久久久久久久av | 精品自拍av | 在线免费观看视频一区二区三区 | 人人添人人澡人人澡人人人爽 | 久久久久成人精品免费播放动漫 | 91网址在线观看 | av资源免费观看 | 久久美女电影 | 精品久久网站 | 日韩一区二区三区在线看 | 国产免费黄视频在线观看 | 国产69精品久久久久久久久久 | 91麻豆免费版 | 中文字幕 欧美性 | 国产日本三级 | 欧洲一区二区三区精品 | 久久久 激情 | 久久精品日本啪啪涩涩 | 69国产盗摄一区二区三区五区 | 国产玖玖视频 | 在线观看涩涩 | 极品嫩模被强到高潮呻吟91 | 99成人免费视频 | 国产精品久久久久四虎 | 综合久久网站 | 免费福利视频网站 | 日韩理论影院 | 91成熟丰满女人少妇 | 国产一区二区视频在线 | 免费国产在线精品 | 欧美-第1页-屁屁影院 | 国产福利91精品一区二区三区 | 国产精品初高中精品久久 | av福利超碰网站 | 日韩免费在线观看网站 | 亚洲天堂网视频在线观看 | 久久视频这里只有精品 | 成人av动漫在线 | 成人久久综合 | 国产亚洲精品久久久久久大师 | 欧美精品少妇xxxxx喷水 | 精品久久久影院 | 欧美福利在线播放 | 成年人视频免费在线播放 | 91插插视频 | 在线视频在线观看 | www在线观看视频 | 韩国av电影在线观看 | 色婷婷成人网 | 少妇搡bbb | 国产精品一区免费在线观看 | 99精品99| 99r精品视频在线观看 | 成人免费看片98欧美 | 国产精品乱码一区二三区 | 午夜美女av| av官网在线 | 国产精品久久嫩一区二区免费 | 国产精品手机看片 | 午夜视频播放 | 99精品欧美一区二区三区 | 日韩夜夜爽| 久久国产福利 | 亚洲女裸体 | 国产精品你懂的在线观看 | 国产小视频在线免费观看视频 | 欧美一级视频在线观看 | 狠狠色婷婷丁香六月 | 欧美天天综合网 | 亚洲午夜久久久久久久久电影网 | 成人免费视频播放 | 久久伦理网 | 国产999精品久久久影片官网 | 国产不卡av在线播放 | 国产视频精选在线 | 美女视频黄色免费 | 久精品视频| 精品一二三四视频 | 国产小视频国产精品 | 日韩在观看线 | 在线看的毛片 | 国产手机视频在线播放 | 黄网在线免费观看 | 激情久久久久久久久久久久久久久久 | 久久精品99久久久久久2456 | 日本精油按摩3 | 麻豆va一区二区三区久久浪 | 免费网站黄色 | 国产精品亚洲片在线播放 | 日韩av手机在线看 | 国产一级片免费观看 | 久久伊人综合 | 国产一级黄色av | 成年人在线看片 | 国产黄大片在线观看 | 日本中文乱码卡一卡二新区 | 天堂va在线高清一区 | 97av超碰 | 免费观看一级成人毛片 | 精品国产电影一区 | 国产精品午夜在线 | 日本中文字幕在线电影 | 色91在线| 国产成人久久精品77777综合 | 国产成人一级电影 | 亚洲黄色av网址 | 亚洲人精品午夜 | 玖玖色在线观看 | 欧美老少交 | 在线看片成人 | 免费视频一区二区 | www.五月天色| 久久久亚洲电影 | 激情视频一区二区 | 2018好看的中文在线观看 | 精品视频在线观看 | 婷婷精品在线视频 | 国产福利一区二区三区视频 | 激情电影影院 | 怡春院av| 99精品视频在线看 | 久久免费视频一区 | 狠狠综合久久 | 伊人va| 国产视频一区二区在线播放 | 欧美一区二区在线 | 少妇bbw搡bbbb搡bbbb| 欧美日韩精品在线观看视频 | 草久草久| 日韩av区 | 久久99爱视频 | 免费网址在线播放 | 久久精品一区二区三区国产主播 | 丁香婷婷色综合亚洲电影 | 国产一区二区久久久久 | 99精品国产99久久久久久97 | 亚洲精品九九 | 日韩免费在线观看视频 | 九九综合久久 | 国产专区精品 | 激情综合亚洲 |