自定义UI
来源:互联网 发布:网络上dm是什么意思 编辑:程序博客网 时间:2024/06/07 18:57
首先,先写一个JAVA类,自定义一个按钮
package com.example.y2_android18_touch;import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.DrawFilter;import android.graphics.Paint;import android.graphics.Path;import android.support.annotation.Nullable;import android.util.AttributeSet;import android.util.Log;import android.view.MotionEvent;import android.view.View;/** * Created by Administrator on 2017/7/8 0008. */public class MyButton extends View { public MyButton(Context context) { super(context); } public MyButton(Context context, @Nullable AttributeSet attrs) { super(context, attrs); } public MyButton(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } public MyButton(Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); }// /**// *// * @param canvas 画布// * Paint 画笔// */ @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); Path path = new Path(); path.moveTo(95, 100); path.lineTo(305, 100); path.lineTo(130, 240); path.lineTo(200, 20); path.lineTo(270, 240); path.lineTo(95, 100); //实例化一个画笔 Paint paint = new Paint(); paint.setColor(Color.RED); //画路径 canvas.drawPath(path, paint); //设置空心// paint.setStyle(Paint.Style.STROKE); //设置画笔的粗细// paint.setStrokeWidth(20); } @Override public boolean onTouchEvent(MotionEvent event) { Log.i("test", "自定义的按钮的触摸事件---->回调"); return false; }}
然后在activity_main.xml里面使用
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:id="@+id/root" tools:context="com.example.y2_android18_touch.MainActivity"> <com.example.y2_android18_touch.MyButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/mbtn_main_button" /></LinearLayout>最后在activity_main.xml相对应的activity里面调用这个布局package com.example.y2_android18_touch;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.MotionEvent;import android.view.View;import android.widget.LinearLayout;public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);}
阅读全文
0 0
- 自定义UI
- 自定义UI
- Java自定义JSlider UI
- flex自定义更新UI
- 系统自定义UI示例
- 自定义UI实例
- Android SeekBar自定义UI
- Android 自定义UI
- 创建自定义 UI
- 自定义UI控件
- android 自定义UI常用
- iOS 5自定义UI
- Android自定义UI
- Android自定义UI实例
- Android 自定义UI--指南针
- Android 自定义UI--电池
- Android SeekBar自定义UI
- Android SeekBar自定义UI
- 一位资深程序员大牛给予Java初学者的学习路线建议
- 浮躁了,我需要静静!
- Oracle 常用命令
- Java 8 新特性——学习总结
- Spring Batch 精萃
- 自定义UI
- 水题 第一站 国王 的魔镜
- Java8 lambda表达式
- 卸载Percona
- 矩阵快速幂 HDU 2157 HDU 5015 POJ 3233
- Linux--crond与crontab详解
- Linux下Docker安装和使用教程
- JZOJ 100030. 【NOIP2017提高A组模拟7.8】为了爱情
- javaWeb下载文件技术(Servlet)