资源简介
仿微信6.1主界面,实现了底部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 < n; 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画树的代码
相关资源
- js判断微信打开提示在浏览器打开代码
- 微信小程序——登录页面
- 微信小程序仿淘宝图片轮播+视频播放
- 网页分享插件,可以实现微信、QQ、微
- 微信小程序 在线电子书商城+阅读
- 微信小程序1800套源码+视频教程
- 微信小程序demo
- 微信公众号支付开发代码
- 电商购物小程序源码demo
- 微信小程序地图demo
- 微信h5支付“网站域名ICP备案主体与商
- 微信自助解封v3.1By小虎增加优码云码
- 微信砍价3.0
- 微信小程序原型
- 微信判断浏览器自动弹出遮罩层代码
- 微信小程序实施方案
- 微信小程序贪吃蛇
- 微信支付商户平台企业向个人付款接
- SpringBoot企业级微信点餐系统.zip
- Netlogo微信用户转发消息模型
- 微信小程序ExpandableListView分组
- ViewPager+Fragment+RadioGroup 实现仿微信界
- 微信小程序日历.zip
- 微信第三方支付视频教学
- 微信授权登陆全后台实现springboot
- uni-app之微信支付.zip
- 最新总结 QQ 微博 微信第三方web端分
- 电商平台对入驻经营者的审核要求或
- 微信开放平台网站信息登记表2018
- Tasker配置 微信双击消息朗读文字
评论
共有 条评论