Android版簡歷(一)

簡介

本人是二本應屆畢業生,由於近來找工作,有的公司比較挑學校,好幾次都沒有筆試的機會。所以我決定弄點讓人眼前一亮的東西,因為我個人比較喜歡Android開發(個人覺得我的J2EE比較好,Android隻是能開發的程度,深入理解的還不夠),所以就萌生瞭做一個Android版的簡歷的念頭。

預覽

因為我本來就是要應聘的,所以信息什麼的我也就不隱藏瞭。另外說一句,我不是設計師,不是美工,所以界面如果醜瞭點,希望大傢也不要見怪。

vcejrM28xqyxo7PW1NrW0Lzkv7/Jz7XEsr+31qGjCtXiuPayvL7WutzI3dLXyrXP1qOs1+7N4rLjyrnTw1JlbGF0aXZlTGF5b3V0o6y9q9fuuvPSu8XFzsTX1lRleHRWaWV3t8XU2tX7uPayvL7WtcTX7s/Cw+bX7tfzsd+jrMbky/u1xM7E19bSu8z1zPW1xMno1sPU2tXixcXOxNfWtcTJz8Pmo7vNt8/x1PLIw0ltYWdlVmlld77T1tCjrLKix9JtYXJnaW5Ub3DJ6NbDtPO4xTQwZHC+zdDQwcuhowrV4tH5ztLDx7XEsry+1r7Ns/bAtMHLoaPWwdPazsTX1rXE0fnKvb7N08m087zS19S8usiltfe92qOsztK+9bXDsNfJq77Nzaa6w6OsuPbIy7HIvc/Psru2vPK1pbXE0dXJq6Osuse6x6GjCtXiuPayvL7WzsS8/srHYWN0aXZpdHlfbWFpbi54bWyjrLTzvNK/ydLUyKWy6b+0vt/M5bT6wuuhowoKPGgxPrXatv6yvaO61LLQztXVxqw8L2gxPgoKvdPPwsC0ztLDx9KqtKbA7c7Sw8e1xNXVxqzBy6GjzqrBy7Gj1qTV1castcTWysG/o6zO0sPHtcTV1cassrvKudPDwK3J7KOs1NrD5rbUsrvNrLfWsebCyrXEyeixuMqxo6zO0sPHyrnTw7K7zay1xNXVxqzV4tH5vs3Q0MHLoaO7sLK7tuDLtaOswLS0psDt1dXGrLDJoaMKztLPyMC0vbLSu8/C1PXDtLSmwO2zyc6q1LLQzrXE1dXGrKOs1K3A7brcvPK1paOsvs3Kx9PD0ru49kNhbnZhc7W8yOvSu7j2Qml0bWFwo6zU2kNhbnZhc9bQvdjIodK7uPbUstDOo6zU2b2rztLDx7XE1dXGrLfF1sO1vcDvw+ahowrK18/IztLDx9Do0qq21NXVxqy1xLjfus2/7b340NDSu7aotcS0psDto6yyosfS0qrV0rW91dXGrLXE1tDQxKOsvdjIodK7uPbX7rTztcTUstDOo6zU2dPD1LLQztPr1dXGrMihvbu8r77NxNy78bXD1LLQztXVxqzBy6GjCjxwcmUgY2xhc3M9″brush:java;”>//將Bitmap處理為圓形的圖片
private Bitmap circlePic(Bitmap bitmap){
int width = bitmap.getWidth();
int height = bitmap.getHeight();
int r = width < height ? width/2:height/2; //圓的半徑,取寬和高中較小的,以便於顯示沒有空白
Bitmap outBitmap = Bitmap.createBitmap(r*2, r*2, Bitmap.Config.ARGB_8888); //創建一個剛好2r大小的Bitmap
Canvas canvas = new Canvas(outBitmap); // 這裡的這個Canvas就是我們用來繪制照片的Canvas
final int color =0xff424242;
final Paint paint = new Paint();
/**
* 截取圖像的中心的一個正方形,用於在原圖中截取
* 坐標如下:
* 1.如果 w h , 左上坐標((w-h)/2, 0) , 右上坐標((w+h)/2, h)
*/
final Rect rect = new Rect( width < height ? 0 : (width-height)/2, width < height ? (height-width)/2 : 0,
width < height ? width : (width+height)/2, (width < height ? (height+width)/2 : height));
//創建一個直徑大小的正方形,用於設置canvas的顯示與設置畫佈截取
final Rect rect2 = new Rect( 0, 0, r*2, r*2);
//提高精度,用於消除鋸齒
final RectF rectF = new RectF(rect2);
//下面是設置畫筆和canvas
paint.setAntiAlias(true);
canvas.drawARGB(0,0,0,0);
paint.setColor(color);
//設置圓角,半徑都為r,大小為rect2,這樣繪制出來的就是一個圓形瞭
canvas.drawRoundRect(rectF, r, r, paint);
//設置圖像重疊時的顯示方式,這個設置很重要,設置瞭這個屬性之後我們畫照片進去就會以交集的形式截取,這樣就會繪制出圓形的圖片瞭
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
//繪制圖像到canvas
canvas.drawBitmap(bitmap, rect, rect2, paint);
return outBitmap;
}這樣圓形的圖片就處理好瞭。大笑
我們隻需要將處理好瞭的圖片設置到我們定義的控件中就可以瞭,具體代碼如下:

ImageView myPhoto = (ImageView) this.findViewById(R.id.myPhoto);
//my_photo.setImageResource(R.drawable.ic_launcher);
//得到Resources對象
Resources r = getResources();
WindowManager manage=getWindowManager();
Display display=manage.getDefaultDisplay();
int screenWidth=display.getWidth();
//以數據流的方式讀取資源
InputStream is = null;
if(screenWidth > 480) {//這段代碼是我適應不同的屏幕大小來顯示瞭不同的照片,其實也有不同的處理方式,不過我覺得這樣也能滿足我的需求
    is = r.openRawResource(R.drawable.my_photo);
} else {
    is = r.openRawResource(R.drawable.my_photo1);
}
//獲取到BitmapDrawable對象
BitmapDrawable  bmpDraw = new BitmapDrawable(is);
//獲得Bitmap
Bitmap bmp = bmpDraw.getBitmap();
myPhoto.setImageBitmap(circlePic(bmp));//繪制好的圓形照片設置到ImageView中
myPhoto.setOnClickListener(new PhotoClickListener());//設置一個點擊事件,後面再說

好瞭,我們已經繪制瞭圓形的圖片和整體的佈局瞭。也就是,我們做到瞭這一個畫面:
嘷嵩h瓎孚喎?/ym/源碼,我也會繼續完善這個項目。
托管地址:https://github.com/xjyaikj/androidresume

發佈留言