欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android自定義View實(shí)現(xiàn)跟隨手指移動(dòng)的小兔子

 更新時(shí)間:2020年11月01日 10:43:35   作者:Hahaha???  
這篇文章主要為大家詳細(xì)介紹了Android自定義View實(shí)現(xiàn)跟隨手指移動(dòng)的小兔子,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了Android自定義View實(shí)現(xiàn)跟隨手指移動(dòng)的小兔子,供大家參考,具體內(nèi)容如下

自定義的View實(shí)現(xiàn)跟隨手指的小兔子

按前面的例子新創(chuàng)建一個(gè)project,再在project中新創(chuàng)建一個(gè)module

將需要的背景圖和兔子圖片放入mipmap中

將布局管理器改為幀布局管理器

<?xml version="1.0" encoding="utf-8"?>
//修改為幀布局管理器FrameLayout
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"


 android:layout_width="match_parent" android:layout_height="match_parent"
 android:paddingBottom="@dimen/activity_vertical_margin"
 android:paddingLeft="@dimen/activity_horizontal_margin"
 android:paddingRight="@dimen/activity_horizontal_margin"
 android:paddingTop="@dimen/activity_vertical_margin"

 
 android:background="@mipmap/bg1" #設(shè)置背景圖
 android:id="@+id/activity_main" # 設(shè)置id


 tools:context="com.example.MainActivity">

 //刪除原來(lái)的文本框
</FrameLayout>

設(shè)計(jì)結(jié)果:

新建一個(gè)java class

新建java class后自動(dòng)生成的代碼

package com.example;

/**
 * Created by hahaha on 2020/10/30.
 */

public class RabatView {
}

修改設(shè)計(jì):自定義RabatView.java

package com.example;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.view.View;

/**
 * Created by hahaha on 2020/10/30.
 */

//繼承自View類
public class RabatView extends View{
 //設(shè)置小兔子位置
 public float bitmipX;
 public float bitmipY;

 public RabatView(Context context) {
 super(context);
 bitmipX = 290;
 bitmipY = 130;
 }


 @Override
 protected void onDraw(Canvas canvas) {
 super.onDraw(canvas);
 // 定義繪圖對(duì)象
 Paint paint = new Paint();
 //定義繪圖內(nèi)容
 Bitmap bitmap = BitmapFactory.decodeResource(this.getResources(), R.mipmap.rabat);

 //開始繪圖
 canvas.drawBitmap(bitmap, bitmipX, bitmipY, paint);
 if (bitmap.isRecycled()){
 bitmap.recycle();// 回收?qǐng)D片
 }
 }
}

MainActivity.java調(diào)用

package com.example;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.widget.FrameLayout;

public class MainActivity extends AppCompatActivity {

 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);

 //定義幀布局管理器對(duì)象,要強(qiáng)制轉(zhuǎn)換類型
 FrameLayout frameLayout = (FrameLayout) findViewById(R.id.activity_main);
 //定義調(diào)用自定義RabatView 類對(duì)象
 final RabatView rabat = new RabatView(this);
 //設(shè)置觸發(fā)事件
 rabat.setOnTouchListener(new View.OnTouchListener() {
 @Override
 public boolean onTouch(View view, MotionEvent motionEvent) {
 rabat.bitmipX = motionEvent.getX();//獲取重新繪制圖片的X位置
 rabat.bitmipY = motionEvent.getY();//獲取重新繪制圖片的Y位置
 rabat.invalidate();

 return true;
 }
 });
 frameLayout.addView(rabat);//添加進(jìn)布局管理器
 }
}

結(jié)果:小兔子隨著鼠標(biāo)移動(dòng)會(huì)移動(dòng)

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論