您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關(guān)如何給Android應(yīng)用設(shè)置圓角圖片,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
主要原理是使用系統(tǒng)自帶api:
RoundedBitmapDrawableFactory
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è)置圓角半徑為正方形邊長的一半即可 Bitmap image = BitmapFactory.decodeResource(getResources(), R.drawable.dog); Bitmap bitmap = null; //將長方形圖片裁剪成正方形圖片 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); //圓角半徑為正方形邊長的一半 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>
以上就是如何給Android應(yīng)用設(shè)置圓角圖片,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。