資源簡介
仿微信6.1主界面,實現(xiàn)了底部Button的漸變和Fragment的漸變

代碼片段和文件信息
package?com.example.weixin;
import?android.annotation.SuppressLint;
import?android.content.Context;
import?android.content.res.TypedArray;
import?android.graphics.Bitmap;
import?android.graphics.Bitmap.Config;
import?android.graphics.Canvas;
import?android.graphics.Paint;
import?android.graphics.PorterDuff;
import?android.graphics.PorterDuffXfermode;
import?android.graphics.Rect;
import?android.graphics.drawable.BitmapDrawable;
import?android.os.Bundle;
import?android.os.Looper;
import?android.os.Parcelable;
import?android.util.AttributeSet;
import?android.util.TypedValue;
import?android.view.View;
public?class?ChangeColorText?extends?View?{
int?mColor?=?0xFF45C01A;
String?mText?=?“微信“;
int?mTextSize?=?(int)?TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP
12?getResources().getDisplayMetrics());
Canvas?mCanvas;
Bitmap?mBitmap;
Paint?mPaint;
Bitmap?mIconBitma;
float?mAlpha;
Rect?mIconRect;
Rect?mTextBound;
Paint?mTextPaint;
public?ChangeColorText(Context?context)?{
super(context);
}
/**獲取自定義屬性的值*/
public?ChangeColorText(Context?context?AttributeSet?attrs)?{
super(context?attrs);
TypedArray?a?=?context.obtainstyledAttributes(attrs
R.styleable.ChangeColorText);
//?獲取各個自定義屬性的值
int?n?=?a.getIndexCount();
for?(int?i?=?0;?i? int?attr?=?a.getIndex(i);
switch?(attr)?{
case?R.styleable.ChangeColorText_icon:
BitmapDrawable?drawable?=?(BitmapDrawable)?a.getDrawable(attr);
mIconBitma?=?drawable.getBitmap();
break;
case?R.styleable.ChangeColorText_color:
mColor?=?a.getColor(attr?0xFF45C01A);
break;
case?R.styleable.ChangeColorText_text:
mText?=?a.getString(attr);
break;
case?R.styleable.ChangeColorText_textSize:
mTextSize?=?(int)?a.getDimension(attr?TypedValue
.applyDimension(TypedValue.COMPLEX_UNIT_SP?12
getResources().getDisplayMetrics()));
break;
default:
break;
}
}
a.recycle();?//?這里一定要回收掉
//?初始化一些變量
mTextBound?=?new?Rect();
mTextPaint?=?new?Paint();
mTextPaint.setTextSize(mTextSize);
mTextPaint.setColor(0xff555555);
mTextPaint.getTextBounds(mText?0?mText.length()?mTextBound);
}
@SuppressLint(“DrawAllocation“)
@Override
protected?void?onMeasure(int?widthMeasureSpec?int?heightMeasureSpec)?{
//?測量圖標的寬高?
super.onMeasure(widthMeasureSpec?heightMeasureSpec);
int?iconWidth?=?Math.min(getMeasuredWidth()?-?getPaddingLeft()
-?getPaddingRight()?getMeasuredHeight()?-?getPaddingTop()
-?getPaddingBottom()?-?mTextBound.height());
int?left?=?getMeasuredWidth()?/?2?-?iconWidth?/?2;
int?top?=?(getMeasuredHeight()?-?mTextBound.height())?/?2?-?iconWidth
/?2;
mIconRect?=?new?Rect(left?top?left?+?iconWidth?top?+?iconWidth);
}
@Override
protected?void?onDraw(Canvas?canvas)?{
//?繪制控件
canvas.drawBitmap(mIconBitma?null?mIconRectnull);
int?alpha?=?(int)?Math.ce
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????475??2015-04-14?16:44??testtest\.classpath
?????文件????????844??2015-04-02?10:59??testtest\.project
?????文件????????177??2015-04-02?10:59??testtest\.settings\org.eclipse.jdt.core.prefs
?????文件????????861??2015-04-14?15:06??testtest\AndroidManifest.xm
?????文件?????648327??2015-04-02?10:59??testtest\libs\android-support-v4.jar
?????文件????????781??2015-04-02?10:59??testtest\proguard-project.txt
?????文件????????563??2015-04-02?10:59??testtest\project.properties
?????文件????????238??2015-04-14?15:06??testtest\res\drawable\tab_bg.xm
?????文件???????7658??2015-04-14?15:06??testtest\res\drawable-hdpi\ic_launcher.png
?????文件???????3777??2015-04-14?15:06??testtest\res\drawable-mdpi\ic_launcher.png
?????文件???????2574??2015-04-14?15:06??testtest\res\drawable-mdpi\ic_menu_allfriends.png
?????文件???????2786??2015-04-14?15:06??testtest\res\drawable-mdpi\ic_menu_emoticons.png
?????文件???????1944??2015-04-14?15:06??testtest\res\drawable-mdpi\ic_menu_friendslist.png
?????文件???????2130??2015-04-14?15:06??testtest\res\drawable-mdpi\ic_menu_start_conversation.png
?????文件????????159??2015-04-14?15:06??testtest\res\drawable-xxhdpi\actionbar_add_icon.png
?????文件???????1561??2015-04-14?15:06??testtest\res\drawable-xxhdpi\actionbar_search_icon.png
?????文件???????1471??2015-04-14?15:29??testtest\res\drawable-xxhdpi\ic_ab_back_holo_dark_am.png
?????文件???????1460??2015-04-14?15:29??testtest\res\drawable-xxhdpi\ic_ab_back_holo_light_am.png
?????文件??????24777??2015-04-14?15:06??testtest\res\drawable-xxhdpi\ic_launcher.png
?????文件???????1113??2015-04-14?15:06??testtest\res\drawable-xxhdpi\ic_menu1.png
?????文件????????774??2015-04-14?15:06??testtest\res\drawable-xxhdpi\ic_menu2.png
?????文件????????530??2015-04-14?15:06??testtest\res\drawable-xxhdpi\ic_menu3.png
?????文件???????1377??2015-04-14?15:06??testtest\res\drawable-xxhdpi\ic_menu4.png
?????文件???????1900??2015-04-14?15:30??testtest\res\drawable-xxhdpi\ic_menu_back.png
?????文件???????2553??2015-04-14?15:06??testtest\res\layout\activity_main.xm
?????文件????????983??2015-04-14?15:06??testtest\res\menu\main.xm
?????文件????????465??2015-04-14?15:06??testtest\res\values\attr.xm
?????文件????????220??2015-04-14?15:06??testtest\res\values\dimens.xm
?????文件????????576??2015-04-14?15:06??testtest\res\values\strings.xm
?????文件????????697??2015-04-14?15:06??testtest\res\values\st
............此處省略30個文件信息
- 上一篇:win8加載圓圈動畫(含源碼/demo)
- 下一篇:OpenGL畫樹的代碼
評論
共有 條評論