标签:
今天晚饭的时候手贱买了杯咖啡,咖啡真的能醒神但是肠胃爆炸。我最近本来肠胃就很差了真的爆炸。
今天干爹六连胜啦真的开心啊~
咳咳,早上成功的按照“微信6.0”把主界面的导航栏弄好了。然后弄“我的”界面,就是写fragment的layout.这个创建的时候自动生成的是FrameLayout,导致我以为fragment就是适配FrameLayout的,然后就没有改,想直接在里面写,结果FrameLayout是 不能内嵌LinearLayout的,会有个黄色的感叹号,结果这个错误卡了挺久,后来改好了,界面的实现也不难。
就是感觉边框的颜色,控件的背景颜色,这种定下来比较麻烦,找头像等图标也麻烦;或许我不该自己随便去定义颜色,可以直接看看有没有开源的控件,然后用他们的xml套用。
今天的自定义Icon比较有意思,了解了Android用来画图的几点要素:
① Canvas:画布,他有个方法叫draw,就是把某Bitmap画到它自己身上一样。
② Bitmap: 就是存储图片的信息
③ Paint:定制画笔的颜色和样式
private Canvas mCanvas; //一个Canvas画布,绘制Bitmap操作; private Bitmap mBitmap; //Bitmap是Android系统中的图像处理的最重要类之一。用它可以获取图像文件信息,进行图像剪切、旋转、缩放等操作。 private Paint mPaint; //绘制的画笔Paint(颜色和样式) mBitmap = Bitmap.createBitmap(getMeasuredWidth(), getMeasuredHeight(), Config.ARGB_8888); mCanvas = new Canvas(mBitmap); mPaint = new Paint(); mPaint.setColor(mColor); mPaint.setAntiAlias(true); mPaint.setDither(true); mPaint.setAlpha(alpha); mCanvas.drawRect(mIconRect, mPaint);//mIconRect是方位,在onMeasure()方法中被计算得知 mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN)); mPaint.setAlpha(255); mCanvas.drawBitmap(mIconBitmap, null, mIconRect, mPaint);//绘图
一些我今天发生的小错误,记录一波:1,因为自定义view,所以在运用View的时候要调用你自己写的那个view类,所以需要你再命名空间中声明。由于我的attr.xml中的属性和系统自带的发生了重复,所以导致了我导入命名空间的时候会有红色的波浪线提示错误。其实把attr.xml中的属性名改了就好了。
2,在Fragment中写findViewById并不是想Activity一样写在onCreat()方法中,而是写在onCreatView()方法中。并且要先通过Inflat获取到view,再通过view获取到控件的对象。
View view = inflater.inflate(R.layout.fragment_fragment4, container, false); mImageView = (ImageView)view.findViewById(R.id.myPhoto);
3,viewPager的那个Fragment是一定要import v4的那个Fragment包,而不是app那个包,会报错的。
以后真的不能喝咖啡了啊,肠胃真的受不了了,困的时候宁可洗把脸的。
早点休息哈~
标签:
原文地址:http://www.cnblogs.com/zjuthdf/p/5370405.html