亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

ImageView的Tint屬性

2019-11-09 15:06:30
字體:
來源:轉載
供稿:網友

Tint是一個比較難以用文字來解釋的屬性,效果圖可以參照以下一張圖片

這里寫圖片描述

首先有一張Src圖片以及一張Dst圖片,然后根據這兩張圖片不同的層疊變化,可以組合成其它十四種圖形 例如 clear表示兩張圖片層疊后什么都不顯示 SrcOver表示兩張圖片的相交部分顯示Src的顏色 SrcIn表示只顯示兩張圖片的相交部分,且為Src的顏色

在布局中,tint屬性如下定義:

<ImageView android:tint="@color/color代碼如下定義:

setColorFilter(int color, PorterDuff.Mode mode)

這里做個小Demo來演示效果 使用到的圖片有如下三張: 這里寫圖片描述這里寫圖片描述這里寫圖片描述

將三張圖片作為Dst,再設定一個顏色值作為Src,Src用四個SeekBar來調節顏色,觀察其效果變化

布局文件:

<?
xml version="1.0" encoding="utf-8"?><ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <ImageView android:id="@+id/green" android:layout_width="50dp" android:layout_height="50dp" android:src="@drawable/green" /> <ImageView android:id="@+id/red" android:layout_width="50dp" android:layout_height="50dp" android:layout_marginLeft="10dp" android:src="@drawable/red" /> <ImageView android:id="@+id/transparent" android:layout_width="50dp" android:layout_height="50dp" android:layout_marginLeft="10dp" android:src="@drawable/transparent" /> </LinearLayout> <Spinner android:id="@+id/spinner" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Alpha 透明度" /> <SeekBar android:id="@+id/alpha_seekBar" android:layout_width="match_parent" android:layout_height="wrap_content" android:max="255" android:progress="255" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Red 紅色" /> <SeekBar android:id="@+id/red_seekBar" android:layout_width="match_parent" android:layout_height="wrap_content" android:max="255" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Green 綠" /> <SeekBar android:id="@+id/green_seekBar" android:layout_width="match_parent" android:layout_height="wrap_content" android:max="255" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Blue 藍色" /> <SeekBar android:id="@+id/blue_seekBar" android:layout_width="match_parent" android:layout_height="wrap_content" android:max="255" /> <TextView android:gravity="center" android:text="圖片是Dst,設置的顏色是Src" android:layout_width="match_parent" android:layout_height="wrap_content" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/explain" /> </LinearLayout></ScrollView>

再Strings.xml文件中聲明Spinner的選項

<string-array name="modes"> <item>CLEAR</item> <item>SRC</item> <item>DST</item> <item>SRC_OVER</item> <item>DST_OVER</item> <item>SRC_IN</item> <item>DST_IN</item> <item>SRC_OUT</item> <item>DST_OUT</item> <item>SRC_ATOP</item> <item>DST_ATOP</item> <item>XOR</item> <item>DARKEN</item> <item>LIGHTEN</item> <item>MULTipLY</item> <item>SCREEN</item> <item>ADD</item> <item>OVERLAY</item> </string-array>

聲明控件與Tint模式

private ImageView iv_green; private ImageView iv_red; private ImageView iv_transparent; private Spinner spinner; //透明度滑動條 private SeekBar sb_transparent; //紅色滑動條 private SeekBar sb_red; //綠色滑動條 private SeekBar sb_green; //藍色滑動條 private SeekBar sb_blue; private static final PorterDuff.Mode[] MODES = new PorterDuff.Mode[]{ PorterDuff.Mode.CLEAR, PorterDuff.Mode.SRC, PorterDuff.Mode.DST, PorterDuff.Mode.SRC_OVER, PorterDuff.Mode.DST_OVER, PorterDuff.Mode.SRC_IN, PorterDuff.Mode.DST_IN, PorterDuff.Mode.SRC_OUT, PorterDuff.Mode.DST_OUT, PorterDuff.Mode.SRC_ATOP, PorterDuff.Mode.DST_ATOP, PorterDuff.Mode.XOR, PorterDuff.Mode.DARKEN, PorterDuff.Mode.LIGHTEN, PorterDuff.Mode.MULTIPLY, PorterDuff.Mode.SCREEN, PorterDuff.Mode.ADD, PorterDuff.Mode.OVERLAY };@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); iv_green = (ImageView) findViewById(R.id.green); iv_transparent = (ImageView) findViewById(R.id.transparent); iv_red = (ImageView) findViewById(R.id.red); sb_transparent = (SeekBar) findViewById(R.id.alpha_seekBar); sb_red = (SeekBar) findViewById(R.id.red_seekBar); sb_green = (SeekBar) findViewById(R.id.green_seekBar); sb_blue = (SeekBar) findViewById(R.id.blue_seekBar); spinner = (Spinner) findViewById(R.id.spinner); SpinnerAdapter spinnerAdapter = ArrayAdapter.createFromResource(this, R.array.modes, android.R.layout.simple_list_item_1); spinner.setAdapter(spinnerAdapter); initEvent(); updateImage(getRGBColor(), getMode()); } private void initEvent() { spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { updateImage(getRGBColor(), getMode()); } @Override public void onNothingSelected(AdapterView<?> parent) { } }); SeekBar.OnSeekBarChangeListener seekBarChangeListener = new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { updateImage(getRGBColor(), getMode()); } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onStopTrackingTouch(SeekBar seekBar) { } }; sb_transparent.setOnSeekBarChangeListener(seekBarChangeListener); sb_red.setOnSeekBarChangeListener(seekBarChangeListener); sb_green.setOnSeekBarChangeListener(seekBarChangeListener); sb_blue.setOnSeekBarChangeListener(seekBarChangeListener); } private PorterDuff.Mode getMode() { return MODES[spinner.getSelectedItemPosition()]; } /** * 根據ARGB值計算顏色值 * * @return 顏色值 */ private int getRGBColor() { int alpha = sb_transparent.getProgress(); int red = sb_red.getProgress(); int green = sb_green.getProgress(); int blue = sb_blue.getProgress(); return Color.argb(alpha, red, green, blue); } /** * 更新顏色與模式 * * @param color 顏色 * @param mode 模式 */ private void updateImage(int color, PorterDuff.Mode mode) { iv_red.setColorFilter(color, mode); iv_green.setColorFilter(color, mode); iv_transparent.setColorFilter(color, mode); }

演示效果 這里寫圖片描述

源代碼下載:ImageView的Tint屬性


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品91在线观看| 国产精品视频久久久久| 久久99热精品| 国产欧美精品一区二区| 亚洲jizzjizz日本少妇| 日韩在线免费高清视频| 亚洲激情视频在线播放| 91av视频在线免费观看| 91精品国产综合久久久久久久久| 亚洲精品wwwww| 日韩欧美在线字幕| 久久国产一区二区三区| 成人黄色大片在线免费观看| 久久久成人的性感天堂| 国产日韩欧美日韩| 精品自在线视频| 亚洲欧美成人一区二区在线电影| 日韩激情av在线免费观看| 日韩av理论片| 久久亚洲综合国产精品99麻豆精品福利| 国产大片精品免费永久看nba| 国产美女扒开尿口久久久| 亚洲欧洲日产国码av系列天堂| 国a精品视频大全| 亚洲高清不卡av| 91精品视频一区| 日韩福利视频在线观看| 97超级碰碰人国产在线观看| 91精品国产91久久久久久不卡| 热久久视久久精品18亚洲精品| 国产免费一区二区三区香蕉精| 亚洲精品wwww| 北条麻妃一区二区三区中文字幕| 亚洲精品成人久久| 91高清在线免费观看| 国产这里只有精品| 欧美亚洲国产精品| 91精品国产免费久久久久久| 激情成人中文字幕| 日本不卡高字幕在线2019| 中文字幕亚洲综合久久筱田步美| 米奇精品一区二区三区在线观看| 亚洲国产精品中文| 最近中文字幕mv在线一区二区三区四区| 国产精品福利网| 中文字幕精品在线| 国产一区二区三区精品久久久| 久久九九热免费视频| 日韩av男人的天堂| 4p变态网欧美系列| 国内精品在线一区| 91视频-88av| 一区二区国产精品视频| 久久久久久久影视| 国产精品一二区| 在线观看久久av| 日韩欧美在线观看| 午夜精品一区二区三区在线视| 亚洲美女视频网| 日韩av大片免费看| 久久久久久成人| 综合国产在线视频| 在线观看视频99| 国产亚洲一级高清| 日韩中文字幕在线观看| 伊人久久久久久久久久久| 亚洲小视频在线观看| 亚洲综合在线播放| 中文字幕日韩电影| 欧美激情第99页| 亚洲欧美激情精品一区二区| 57pao精品| 久久久久久久一区二区三区| 亚洲91av视频| 亚洲精品中文字幕女同| 亚洲在线免费观看| 精品视频一区在线视频| 日韩精品免费一线在线观看| 欧美日韩国产成人| 在线视频免费一区二区| 久久综合伊人77777| 性色av一区二区三区在线观看| 国产美女精品免费电影| 高跟丝袜一区二区三区| 日韩中文字幕免费视频| 久久精品99久久香蕉国产色戒| 亚洲最大福利视频网| 日韩成人在线播放| 欧美裸体xxxx极品少妇软件| 亚洲精品中文字幕有码专区| 在线免费观看羞羞视频一区二区| 国产一区二区丝袜| 久久全国免费视频| 久久精品电影网| 亚洲丁香久久久| 日韩精品久久久久久久玫瑰园| 国产精品色婷婷视频| 亚洲精品动漫100p| 国产91色在线|| 日本精品视频在线播放| 亚洲欧美成人精品| 日本久久久久久久久| 91精品国产综合久久香蕉922| 日韩欧美国产免费播放| 亚洲人成伊人成综合网久久久| 欧美激情久久久| 亚洲精品自拍视频| 色yeye香蕉凹凸一区二区av| 国产精品精品久久久| 久久99精品久久久久久青青91| 4k岛国日韩精品**专区| 国产精品久久不能| 国产精品美女久久久久av超清| 国产女人18毛片水18精品| 黑人巨大精品欧美一区二区免费| 亚洲国产高清自拍| 精品日本高清在线播放| 黑人巨大精品欧美一区二区一视频| 成人网中文字幕| 国产精品女主播视频| 欧美—级a级欧美特级ar全黄| 成人精品aaaa网站| 久久精品99久久久久久久久| 亚洲国产精久久久久久久| 久久精品国产v日韩v亚洲| 成人免费网站在线看| 久久久久久国产精品| 国产女人18毛片水18精品| 清纯唯美日韩制服另类| 欧美性极品少妇精品网站| 最近免费中文字幕视频2019| 国产精品美女999| 亚洲欧洲一区二区三区在线观看| 中文字幕一精品亚洲无线一区| 久久五月天综合| 日韩中文字幕国产精品| 欧美成人免费视频| 国产精品三级美女白浆呻吟| 九九精品视频在线观看| 中文字幕日韩综合av| 欧美日韩亚洲91| 在线成人激情视频| 国产97人人超碰caoprom| 国产一区玩具在线观看| 亚洲v日韩v综合v精品v| 欧美精品一区三区| 97久久伊人激情网| 欧美日韩亚洲天堂| 久久欧美在线电影| 一本一本久久a久久精品牛牛影视| 久久久欧美一区二区| 亚洲伊人第一页| 亚洲成人黄色在线观看| 亚洲男人的天堂网站| 欧美成人在线免费视频| 国产视频久久网| 精品一区二区三区四区在线| 午夜精品蜜臀一区二区三区免费| 操人视频在线观看欧美| 欧美精品videosex性欧美| 久久久综合免费视频| 国产男女猛烈无遮挡91| 亚洲аv电影天堂网| 中文字幕亚洲综合|