Android开发轻松实现带文字的图片按钮

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Android开发轻松实现带文字的ImageButton

实际上,ImageButton是不能添加文字的。要实现带文字的ImageButton的方法很多,这里仅列举一种方法:自定义一个继承自ImageButton的类,然后Override它的onDraw(Canvas canvas)方法。具体步骤如下:

1)新建一个Android工程,例如工程名:TestImageButton。怎么建工程?不用我多说了吧。

2)新建一个MyImageButton类,继承android.widget.ImageButton

3)为类MyImageButton添加成员函数,详细代码如下:

package ;

import android.content.Context;

import android.graphics.Canvas;

import android.graphics.Paint;

import android.util.AttributeSet;

import android.widget.ImageButton;

public class MyImageButton extends ImageButton {

public String text = null; //要显示的文字

public float textX,textY; //文本显示的坐标位置

public int color; //文字的颜色

public MyImageButton(Context context, AttributeSet attrs) { super(context,attrs);

textX=20;

textY=60;

}

//设置需要显示的文本

public void setText(String text){

this.text = text; //设置文字

}

//设置文本显示的颜色

public void setColor(int color){

this.color = color; //设置文字颜色

}

// 设置显示文本的X、Y坐标

public void setPosition(float XX,float YY){

t extX = XX;

t extY = YY;

}

@Override

protected void onDraw(Canvas canvas) {

// TODO Auto-generated method stub

super.onDraw(canvas);

Paint paint=new Paint();

paint.setTextAlign(Paint.Align.CENTER);

paint.setColor(color);

canvas.drawText(text, textX, textY, paint); //绘制文字}

}

4)在布局文件中引用:

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical"

android:background="#9CFFC1">

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/hello"/>

<.MyImageButton

a ndroid:id="@+id/button01"

a ndroid:layout_width="wrap_content"

a ndroid:layout_height="wrap_content"

a ndroid:layout_marginLeft="25dp"

a ndroid:background="@drawable/video1"/>

5)在启动Activity的onCreate方法中添加文字

package ;

import .MyImageButton;

import android.app.Activity;

import android.graphics.Color;

import android.os.Bundle;

public class TestImageButtonActivity extends Activity {

/** Called when the activity is first created. */

private MyImageButton button01=null;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(yout.main);

button01= (MyImageButton)findViewById(R.id.button01);

button01.setText("视频文件1");

button01.textX =25;

button01.textY =65;

button01.setColor(Color.rgb(147, 48, 4));

}

}

相关文档
最新文档