android自定義控件 垂直文本

package com.example.android8;

import java.util.Date;

import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Handler;
import android.util.AttributeSet;
import android.util.Log;
import android.widget.TextView;

public class VerticalText extends TextView
{

private Paint paint;
private CharSequence s;
private Handler han=new Handler();
private Runnable action;
public VerticalText(Context context)
{
super(context);
init();


// TODO Auto-generated constructor stub
}
public VerticalText(Context context,AttributeSet attrs)
{
super(context, attrs);
init();
TypedArray a = context.obtainStyledAttributes(attrs,
R.styleable.vertical);

s = a.getString(R.styleable.vertical_mytext);
}

public void init()
{
paint=new Paint();
paint.setColor(Color.RED);
paint.setAntiAlias(true);//抗鋸齒
paint.setTextSize(20);

action=new Runnable()
{
@Override
public void run()
{
invalidate();
han.postDelayed(action, 1000);
}
};
han.postDelayed(action,1);



}
@Override
protected void onDraw(Canvas canvas)
{
// TODO Auto-generated method stub
super.onDraw(canvas);

canvas.rotate(90);//順時針旋轉90°

canvas.drawText(s.toString()+" "+new Date().toLocaleString(), 0, 0, paint);
}
}
package com.example.android8;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class VerticalTextActivity extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.vertical_text);
}


}

http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:vertical="http://schemas.android.com/apk/res/com.example.android8"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".VerticalText" >


android:id="@+id/verticalText2"
android:layout_width="100dp"
android:layout_height="200dp"
vertical:mytext="hello world"
android:layout_centerInParent="true"
/>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章