国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Android > 正文

Android如何設(shè)置圓角圖片

2019-12-12 03:36:17
字體:
供稿:網(wǎng)友

在開發(fā)過程中有時(shí)需要將圖片顯示成圓角圖片,一般我們可以通過在xml中設(shè)置drawable shape即可,但今天我給出另一種方法,用java代碼動(dòng)態(tài)去設(shè)置圓角,順便做個(gè)簡(jiǎn)單的筆記。

主要原理是使用系統(tǒng)自帶api:

RoundedBitmapDrawableFactory

先上效果圖:

由于比較簡(jiǎn)單,直接給出實(shí)現(xiàn)方式:

public class MainActivity extends AppCompatActivity { private ImageView mImgRectRound; private ImageView mImgRound; @Override protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_main);  mImgRectRound = (ImageView) findViewById(R.id.img_rect_rounded);  mImgRound = (ImageView) findViewById(R.id.img_rounded);  rectRoundBitmap();  roundBitmap(); } private void rectRoundBitmap(){  //得到資源文件的BitMap  Bitmap image= BitmapFactory.decodeResource(getResources(),R.drawable.dog);  //創(chuàng)建RoundedBitmapDrawable對(duì)象  RoundedBitmapDrawable roundImg =RoundedBitmapDrawableFactory.create(getResources(),image);  //抗鋸齒  roundImg.setAntiAlias(true);  //設(shè)置圓角半徑  roundImg.setCornerRadius(30);  //設(shè)置顯示圖片  mImgRectRound.setImageDrawable(roundImg); } private void roundBitmap(){  //如果是圓的時(shí)候,我們應(yīng)該把bitmap圖片進(jìn)行剪切成正方形, 然后再設(shè)置圓角半徑為正方形邊長(zhǎng)的一半即可  Bitmap image = BitmapFactory.decodeResource(getResources(), R.drawable.dog);  Bitmap bitmap = null;  //將長(zhǎng)方形圖片裁剪成正方形圖片  if (image.getWidth() == image.getHeight()) {   bitmap = Bitmap.createBitmap(image, image.getWidth() / 2 - image.getHeight() / 2, 0, image.getHeight(), image.getHeight());  } else {   bitmap = Bitmap.createBitmap(image, 0, image.getHeight() / 2 - image.getWidth() / 2, image.getWidth(), image.getWidth());  }  RoundedBitmapDrawable roundedBitmapDrawable = RoundedBitmapDrawableFactory.create(getResources(), bitmap);  //圓角半徑為正方形邊長(zhǎng)的一半  roundedBitmapDrawable.setCornerRadius(bitmap.getWidth() / 2);  //抗鋸齒  roundedBitmapDrawable.setAntiAlias(true);  mImgRound.setImageDrawable(roundedBitmapDrawable); }}

布局文件:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.cjl.roundedbitmap.MainActivity"> <ImageView  android:id="@+id/img_rect_rounded"  android:layout_width="200dp"  android:layout_height="300dp"  android:layout_marginTop="20dp"  android:layout_gravity="center_horizontal"/> <ImageView  android:id="@+id/img_rounded"  android:layout_marginTop="20dp"  android:layout_width="200dp"  android:layout_height="200dp"  android:layout_gravity="center_horizontal"/></LinearLayout>

如有問題,歡迎指正,謝謝。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 泸西县| 尼木县| 顺昌县| 原阳县| 辉县市| 旅游| 化州市| 洞头县| 陇西县| 隆昌县| 神池县| 嘉义县| 同江市| 安丘市| 辰溪县| 上栗县| 武陟县| 青浦区| 安新县| 洱源县| 拉孜县| 枝江市| 兴隆县| 南部县| 崇礼县| 南溪县| 贵南县| 吉安市| 三台县| 房山区| 松阳县| 滕州市| 大关县| 曲麻莱县| 冀州市| 凤翔县| 蓬莱市| 永登县| 尤溪县| 奎屯市| 若羌县|