編輯:關於Android編程
有時候Android自帶的控件無法滿足我們的某些要求,這時就需要我們自定義控件來實現這些功能。比如需要一個TextView裡的字傾斜一定的角度,就需要自定義TextView。
package com.leigo.ratatetextview;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.util.AttributeSet;
import android.view.Gravity;
import android.widget.TextView;
/**
* Created by Administrator on 2014/9/9.
*/
public class RotateTextView extends TextView {
private static final int DEFAULT_DEGREES = 0;
private int mDegrees;
public RotateTextView(Context context) {
super(context, null);
}
public RotateTextView(Context context, AttributeSet attrs) {
super(context, attrs, android.R.attr.textViewStyle);
this.setGravity(Gravity.CENTER);
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.RotateTextView);
mDegrees = a.getDimensionPixelSize(R.styleable.RotateTextView_degree, DEFAULT_DEGREES);
a.recycle();
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
setMeasuredDimension(getMeasuredWidth(), getMeasuredWidth());
}
@Override
protected void onDraw(Canvas canvas) {
canvas.save();
canvas.translate(getCompoundPaddingLeft(), getExtendedPaddingTop());
canvas.rotate(mDegrees, this.getWidth() / 2f, this.getHeight() / 2f);
super.onDraw(canvas);
canvas.restore();
}
public void setDegrees(int degrees) {
mDegrees = degrees;
}
}
用法:
1.xml
RotateTextView mText = (RotateTextView) findViewById (R.id.text); mText.setDegrees(10);
Android下拉刷新SwipeRefreshLayout控件使用方法
我們知道現在的material design十分的流行,而SwipeRefreshLayout 就是原生的一個效果(也是Facebook下拉刷新效果)SwipeRefre
[Android Studio] *.jar 與 *.aar 的生成與*.aar導入項目方法
主要講解Android Studio中生成aar文件以及本地方式使用aar文件的方法。 在Android Studio中對一個自己庫進行生成操作時將會同時生成*.jar與
Android入門——補間動畫和幀動畫應用小結
引言動畫Animations在App中的作用有多重要勿需多言,彈出式的PopupWindow、Tab切換、Loding等等。Android 3.0前,Android只支持
榮耀7i手機截屏方法|華為榮耀7i如何截屏
手機截屏是一項非常常用的功能,聊天時很多時候都需要用截屏來輔助表達,但華為榮耀7i手機截屏功能和很多手機的截屏方式是不一樣的,華為榮耀7i怎麼截圖呢?下面安