Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android Demo---如何敲出圓角的Button+圓角頭像

Android Demo---如何敲出圓角的Button+圓角頭像

編輯:關於Android編程

經常玩兒App的小伙伴都知道,APP上面有很多按鈕都是圓角的,圓形給人感覺飽滿,富有張力,不知道設計圓角按鈕的小伙伴是不是和小編有著相同的想法`(*∩_∩*)′,聽小編公司開發IOS的小伙伴說,他們裡面直接有圓角的button,但是對於開發Android的小伙伴就不一樣了,裡面沒有直接的圓角button可以供我們使用,在xml裡面布局一個button,還不是圓角的,怎麼辦nie,方法總比困難多,我們成長的機會又來了,最近在小編的項目中,需要用到圓角的button,還需要用到圓角的頭像,經過半天搗鼓,終於是圓角的啦,開心ing,效果圖如下,但是效果圖展示的用戶中心是一張圖片,不是用imageview。今天這篇博文,小編就來簡單的介紹一下如何敲出圓角的Button以及圓角的頭像,小編先來介紹如何敲出圓角的頭像,效果圖如下所示:

/

今天這篇博文,小編做了一個關於如何制作圓角的一個Android小demo,希望可以幫助到有需要的小伙伴,首先,新建一個Android項目,在drawable_xhdpi這個文件下面,新建一個Android xml文件,取名為fillet,如下圖所示:

/

接著第二步,我們開始編寫fillet裡面的xml,代碼如下所示:

 

 
 
     
     
     
     
     
      
 
 
 

 

第三步,編寫layout裡面的文件activity_main.xml,代碼如下所示:

 

 
 
  
  
  

第四步,編寫values文件下styles.xml的內容,具體代碼如下所示:

 



    

    
     Settings


第五步,編寫FillButtonActivity.java類裡面的內容,代碼如下所示:

package com.example.filletbutton;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener; 
import android.widget.Button;
import android.widget.Toast;

public class FilletButtonActivity extends Activity {
	  Button FilletButton;  
	    @Override 
	    public void onCreate(Bundle savedInstanceState) {  
	        super.onCreate(savedInstanceState);  
	        setContentView(R.layout.activity_main);  
	          
	        FilletButton=(Button)findViewById(R.id.filletButton);  
	      //使用匿名類注冊Button事件  
	        FilletButton.setOnClickListener(new OnClickListener()  
	      {       
	            public void onClick(View v)  
	            {  
	                Toast.makeText(FilletButtonActivity.this, 你點擊了圓角按鈕,Toast.LENGTH_LONG).show();  
	            }  
	        });  
	    }  
	

}

最後我們來看一下運行的效果,如下圖所示:

 

/
介紹完如何敲出圓角的Button之後,小編接著像小伙伴們介紹一下,如何敲出圓角的頭像,首先,第一步,我們來編寫xml裡面的布局代碼,具體代碼如下所示:

 



    
    <framelayout android:background="@drawable/us" android:layout_height="135dp" android:layout_width="match_parent">

        <framelayout android:layout_height="44dp" android:layout_width="match_parent">

            
             
              

        </framelayout>
        
 
        
        
    </framelayout>
    


接著,我們來編寫java類裡面的代碼,代碼如下所示:

 

 

package com.h8.imageroundcorner;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.PorterDuffXfermode;
import android.graphics.Rect;
import android.graphics.RectF;
import android.graphics.Bitmap.Config;
import android.graphics.PorterDuff.Mode;
import android.os.Bundle;
import android.widget.ImageView;

public class TestActivity extends Activity {
	ImageView imageView;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.test);
		imageView = (ImageView) findViewById(R.id.imageView2);
		Bitmap b = BitmapFactory.decodeResource(getResources(), R.drawable.my);

		imageView.setImageBitmap(toRoundCorner(b,100));
	}

	public static Bitmap toRoundCorner(Bitmap bitmap, int pixels) {

		Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888);

		Canvas canvas = new Canvas(output);

		final int color = 0xff424242;

		final Paint paint = new Paint();

		final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());

		final RectF rectF = new RectF(rect);

		final float roundPx = pixels;

		paint.setAntiAlias(true);

		canvas.drawARGB(0, 0, 0, 0);

		paint.setColor(color);

		canvas.drawRoundRect(rectF, roundPx, roundPx, paint);

		paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));

		canvas.drawBitmap(bitmap, rect, rect, paint);
		return output;

	}

}
最後,我們來看一下效果圖:

 

/
小編寄語:該博文,小編主要簡單的介紹了,如何在Android應用中制作出圓角的Button。以及如何制作出圓角的頭像,還是那句話對於小編來說,既是挑戰更是機遇,因為知識都是相通的,再者來說,在小編的程序人生中,留下最珍貴的記憶,雖然以後小編不一定從事安卓這個行業,代碼世界裡,很多種事,有的甜蜜,有的溫馨,有的婉轉成歌,有的綿延不息,在這些故事裡,我們唯一的共通之處就是,某年,某月,某個波瀾不驚的日子裡,曾經很愛很愛你!愛你--這段實習的日子裡,安卓帶給小編的種種的驚喜。

 

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved