A. android中單擊ImageView時候,如何讓圖片樣式更改
imageview.setXXX可以設置setBackgroundResource背景,布局setLayoutParams還洞桐有setScaleType
,源圖片是無納滲坦法改變的.不用擔喊皮心.如果圖片旋轉,也只有生成另一個Bitmap
B. android ImageView控制項,圖片如何鋪滿整個控制項
android imageView有一個屬性就是scaleType擴大類型,使用fitXy值就可以實現鋪滿整個空間,操作如下:在ImageView里加上android:scaleType="fitXy"。x0dx0a 默認還有其他很多類型:scaleType=「matrix」 是保持原圖大小、從左上角的點開始,以矩陣形式繪圖。x0dx0ax0dx0ascaleType=「fitXY」 是將原圖進行橫方向(即XY方向)的拉伸後繪制的。x0dx0ax0dx0ascaleType=「fitStart」 是將原圖沿左上角的點(即matrix方式繪圖開始的點),按比例縮放原圖繪制而成的。
C. imageview怎麼做成checkbox選擇樣式
首先你要准備兩張圖,一張是未勾選的checkbox樣式圖,一張是勾選的樣式圖。
然後在drawable文件夾中添加drawable文件checkbox_style.xml。
如下:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="apk/res/android">
<!-- 勾選的樣式圖放到沒毀跡res目錄下的drawable中,然後在這里使用 -->
<item android:drawable="@drawable/checkbox_pressed" android:state_checked="true"/>
<!-- 未勾選的樣式圖放到res目錄下的余寬drawable中,然後在這里使用 -->
<item android:drawable="@drawable/checkbox_normal" android:state_checked="false"/>
<item android:drawable="@drawable/checkbox_normal"/>
</selector>
再來是在values文件夾下的styles.xml文件中添加CustomCheckboxTheme樣式。
<style name="CustomCheckboxTheme" parent="@android:style/Widget.CompoundButton.CheckBox">
<item name="android:button">@drawable/checkbox_style</item>
</style>
最後枯並在布局文件中使用CustomCheckboxTheme樣式。
<CheckBox
android:id="@+id/select_all"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/CustomCheckboxTheme" />
D. android中 怎麼顯示一直圖片為圓形圖片
android中的imageview只能顯示矩形的圖片,這樣一來不能滿足我們其他的需求,比如要顯示圓形的圖片,這個時候,我們就需要自定義imageview了,其原理就是首先獲取到圖片的bitmap,然後進行裁剪圓形的bitmap,然後在ondraw()進行繪制圓形圖片輸出。
E. android. ImageView布局如何作才有圖片中那樣四四方方。
用的是布局的方式來實現的:
Xml代碼
<TableLayout android:layout_width="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/white">
<TableRow android:layout_width="wrap_content">
<ImageView android:id="@+id/img_play" android:layout_width="90px" android:layout_height="90px"
android:layout_margin="2dip" android:scaleType="centerCrop" />
</TableRow>
<渣宏銷/TableLayout>
說明:1、是把ImageView放在一個TableLayout中來實現的。
2、要設置絕升ImageView的大小,就是長和寬(寬必須要設置)。
3、設置android:scaleType="centerCrop"屬性, 按比例擴大圖片的size居中顯示,使得圖片長(寬)等於或大於View的長(寬)。
4、設置ImageView的android:layout_margin="2dip"屬性。
5、設置TableLayout的android:background="@drawable/white"如游屬性。
F. android安卓 imageview 在照片基礎上無限添加樣式,並且可以旋轉和縮放 類似美圖秀秀軟體
你要是不會使用這個軟體的話,可以下載一個使用教程的!
在應用寶上面就可以下載到的,好比游戲粗納的教程!應該有幫助
應用寶裡面的資源很多,除了有大量的APP應用可以免費下載
還有很多游戲(軟體)的教程和冊凳基攻略呢,都是很不錯的,免費下載呢
在手機上打開應用寶軟體搜索你所需要的教程,找到下載就可以了。
也可以通過手機連接電腦端的應用寶軟體來下載的州謹,打開PC端的應用寶軟體——手機應用。
可以通過搜索你所需要的游戲(軟體)教程進行下載呢,都是很方便的。還望採納
G. android如何實現imageview默認是灰色,被點擊後變成藍色,(詳情請看圖片)並保持是藍色
這說白一點就是兩個圖片的切敏咐並換,最簡單的就是簡鋒寫一個selector配置文件來橋跡實現,也可以在點擊事件中去切換圖片。
H. Android 圓角、圓形 ImageView 實現
我們要實現的圖片控制項繼承自 AppCompatImageView ,它是 ImageView 的子類,但提供了更好的兼容性,我們在此基礎上添加了若干自定義的屬性和方法以實現最終的 NiceImageView :
要實圓角或者圓形的顯示效果,就是對圖片顯示的內容區域進行「裁剪」,只顯示指定的區域即可。如何做呢?
一種比較直接的辦法是這樣的,由於圖片是被繪制在畫布上的,所以用 canvas 的 clipPath() 方法先將畫布裁剪成指定形狀,這樣就能讓圖片按指定形狀顯示了,重新 draw() 方法即可:
這樣使用 src 、 background 屬性給ImageView設置顯示的圖片都能達到預期的顯示效果。但是由於 clipPath() 方法不支持抗鋸齒,圖片邊緣會有明顯的毛糙感,體驗並不理想,所以需要尋找其它方法。
另一種方法是使用圖像的 Alpha 合成模式 ,即
PorterDuff 來實現, 官方文檔 。這里我們使用其中的 DST_IN 模式。整個過程就是先繪制目標圖像,也就是圖片;再繪制原圖像,即一個圓角矩形或者圓形,這樣最終目標圖像只顯示和原圖像重合的區域。
到這里就實現了顯示為圓角或者圓形了。但是需要通過 src 屬性或者對應的方法來設置圖片,否則不能達到預期效果。
繪制邊框就相對容易理解了,只需要繪制一個指定樣式的圓角矩形或者圓形即可:
當圖片顯示為圓形時,還可以繪制一個內邊框,但圓角矩形的話由於圓角大小的問題,目前只能設置一個邊框咯。
但是有個問題,繪制的邊框會覆蓋在圖片上,如果邊框太寬會導致圖片的可見區域變小了,影像顯示效果,像這樣,左下角的花盆不見了:
那麼如何讓邊框不覆蓋在圖片上呢?可以在 Alpha 合成繪制前先將畫布縮小一定比例,最後再繪制邊框,這樣問題就解決了。
縮放後的ImageView顯示區域的寬高就是原寬、高分別減去2倍的邊框寬度,這樣縮小的比例也就顯而易見了。效果如下,左下角的花盆出來了:
遮罩可以理解為一層帶透明度的顏色,遮罩默認不繪制,當制定了遮罩顏色時才會繪制,實現很簡單:
例如加一個透明度30%的紅色遮罩後的效果:
核心的實現邏輯就這些了,剩下的就是自定義屬性和方法了,有興趣的可以看源碼,都很簡單,希望對你有所幫助吧!
更多細節及用法見GitHub: https://github.com/SheHuan/NiceImageView
如果你需要實現類似釘釘的圓形組合頭像,例如:
I. android中的ImageView顯示默認圖片
android中的ImageView顯示默認圖片有兩種方式:
在xml中增加圖片的引用,android:src="@drawable/image"即可。
在java代碼中設置
ImageView image = (ImageView) findViewById(R.id.image);
image.setImageResource(R.drawable.image);
注意,需要先將image圖片,放到res/drawabl目錄下。
J. 圖文講解Android ImageView的ScaleType,幫你徹底搞明白
一般來說,要把一張圖片顯示在ImageView上,有下面幾個問題需要考慮:
在真實的產品環境中,一個ImageView的大小往往都是有限制的,至少長或寬有一條邊是有限制的,所以,在ImageView上顯示圖片還需要考慮:
第二個問題,還可以細化成:
怎麼樣,簡單的一個顯示圖片操作,就有這么多細節需要考慮。下面的章節,我們就抓住上面幾點,通過實際的例子幫你理解ScaleType的各個屬性值。
首先看下實際效果:
一句話總結FIT_XY:就是以不按原比例伸縮為代價,強制讓圖片充滿ImageView ,同時圖片所有的部分也會完整顯示出來(雖然可能變形)。但是,因為其不按原比例伸縮的特點,真實的產品中不太常用,因為圖片被拉伸變形往往是不可以接受的。(上面例子中的美女已經被拉伸的不成樣子了)
還是先看下例子:
這個屬性值的名稱雖然是CENTER,但是和一般意義上的「居中」有很大不同。 這個屬性值即不會保證填滿ImageView,也不保證圖片會完整顯示。 當實際圖片比ImageView小的時候,就是「居中顯示」。當圖片比ImageView大,就把圖片中間的部分顯示在ImageView里,其他的裁剪掉不顯示。(上面第二組圖尤其明顯)
先看例子:
FIT_CENTER更接近於大家理解的「居中顯示」,也是平時用的最多的一個值。 首先,這個屬性會保證圖片完整顯示,不管圖片和ImageView的大小關系。而且伸縮的時候是按照比例做的,所以圖片質量也可以得到保證。 唯一的問題是,FIT_CENTER不保證會填滿ImageView。對於大多數場景,這個也足夠了。
FIT_START,FIT_END和FIT_CENTER差不多,就不詳細介紹了。
先看例子:
CENTER_CROP,是個非常重要的值,但是很多同學對它並不是很了解。首先,這個屬性值的名字很奇怪,很難猜出來其真實的含義;其次,它的官方介紹簡直又臭又長,讓人一頭霧水:
其實,CENTER_CROP的特點總結起來很簡單: 以可能裁切掉部分圖片為代價,讓圖片充滿ImageView。
可以和FIT_XY做下對比, CENTER_CROP和FIT_XY是唯二的可以保證填滿ImageView的值 。所不同的是,FIT_XY是以不保持原始比例伸縮為代價(但是保證原圖全部顯示出來);而CENTER_CROP是以不能顯示完整原圖為代價(但是保證原圖的原始比例)。
二者都會按原始比例伸縮圖片,所不同的是, CENTER_CROP將圖片伸縮到填滿ImageView為止,FIT_CENTER伸縮到圖片完整並居中顯示為止。
下面兩個動圖可以讓你看得更清楚:
先看例子:
CENTER_INSIDE又是一個奇怪的值,原文的解釋也是讓人看不懂:
其實總結起來很簡單: 當原圖大於ImageView的時候,相當於FIT_CENTER。當原圖小於等於ImageView的時候,相當於CENTER。
看下例子
MATRIX的效果比較簡單: 不改變原圖的大小,從ImageView的左上角開始繪制,超出部分做剪切處理。 不保證填滿ImageView,也不保證圖片完全顯示。和CENTER有點類似。反正我在項目中是沒有用過這個值。
下面的表格總結了下各個屬性值的特點,注意,表格中為「是」並不是說一定會發生,只是說明有這種可能。
最後再給大家出一道思考題,看看大家的掌握情況:
相信通過學習本文章,聰明的你很快就能找到答案。