通过自定义view替代layout.xml表示activity的界面

本文介绍如何通过继承View类来自定义界面组件,并在组件中绘制文本。具体步骤包括创建自定义View类、设置画笔样式及颜色、使用Canvas进行文本绘制等。最后展示了如何在MainActivity中使用自定义View。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建了一个新项目之后,

在src内新建一个类public class 类名 extends View

 1 package com.example.activity_view;
 2 
 3 import android.content.Context;
 4 import android.graphics.Canvas;
 5 import android.graphics.Color;
 6 import android.graphics.Paint;
 7 import android.view.View;
 8 
 9 public class contentview extends View{
10 
11     public contentview(Context context) {
12         super(context);
13         // TODO Auto-generated constructor stub
14     }
15     @Override
16     protected void onDraw(Canvas canvas)
17     {
18         Paint paint=new Paint();
19         paint.setTextSize(18);
20         paint.setAntiAlias(true);                  //设置抗锯齿
21         paint.setColor(Color.RED);                 //设置字体颜色
22         canvas.drawText("这是通过继承和扩展view类来显示的。", 0, 50, paint);   //绘制字体
23     }
24 
25 }

onDraw(Canvas canvas)是用于绘制界面的。通常用Paint来绘制。

之后,在MainActivity.class中把setcontentview(R.layout.xxx)替换为(contentview);如下

package com.example.activity_view;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {
    @Override
    public void  onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        contentview cv=new contentview(this);
        setContentView(cv);
    }

}

这样,就成功了

转载于:https://www.cnblogs.com/lexious/p/3869903.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值