Android開發(fā)實現(xiàn)跟隨手指的小球效果示例
本文實例講述了Android開發(fā)實現(xiàn)跟隨手指的小球效果。分享給大家供大家參考,具體如下:
配置DrawView類用于繪制小球
public class DrawView extends View { public float currentX = 40; public float currentY = 50; //定義并創(chuàng)建畫筆 Paint p = new Paint(); public DrawView(Context context) { super(context); } public DrawView(Context context , AttributeSet set) { super(context,set); } @Override public void onDrawForeground(Canvas canvas) { super.onDrawForeground(canvas); //設(shè)置畫筆顏色 p.setColor(Color.RED); //繪制一個小球 canvas.drawCircle(currentX , currentY , 30 , p); } //為組建的觸碰實踐重寫處理方法 @Override public boolean onTouchEvent(MotionEvent event) { //修改currentX,currentY的兩個屬性 currentX = event.getX(); currentY = event.getY(); //通知當前組建重繪自己 invalidate(); //放回true表明該處理方法已經(jīng)處理該事件 return true; } }
MainActivity
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //獲取Linearlayout布局容器 LinearLayout root = (LinearLayout) findViewById(R.id.root); //創(chuàng)建DrawView組件 final DrawView draw = new DrawView(this); //設(shè)定自定義組件的最小寬度、高度 draw.setMinimumWidth(300); draw.setMinimumHeight(500); root.addView(draw); } }
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:id="@+id/root" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <com.example.a30797.myapplication.DrawView android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout>
**注:**由上面布局,已經(jīng)添加了自定義組件,因此Activity代碼可簡化為:
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }
示例:
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android控件用法總結(jié)》、《Android開發(fā)入門與進階教程》、《Android視圖View技巧總結(jié)》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》、《Android數(shù)據(jù)庫操作技巧總結(jié)》及《Android資源操作技巧匯總》
希望本文所述對大家Android程序設(shè)計有所幫助。
相關(guān)文章
Kotlin實現(xiàn)多函數(shù)接口的簡化調(diào)用
這篇文章主要為大家詳細介紹了Kotlin實現(xiàn)多函數(shù)接口的簡化調(diào)用,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06android開發(fā)教程之使用listview顯示qq聯(lián)系人列表
這篇文章主要介紹了android使用listview顯示qq聯(lián)系人列表的示例,需要的朋友可以參考下2014-02-02Android來電監(jiān)聽和去電監(jiān)聽實現(xiàn)代碼
本文是關(guān)于來點監(jiān)聽和去電監(jiān)聽展開問題,通過實例代碼講解,對android來電監(jiān)聽和去電監(jiān)聽的相關(guān)知識感興趣的朋友一起看看吧2017-06-06Android、Flutter為不同的CPU架構(gòu)包打包APK(v7a、v8a、x86區(qū)別)
默認情況下,Android和Flutter打包出來的Apk都是包含了所有架構(gòu)的,這樣打出來的apk體積相對于單架構(gòu)的apk有點大,這時,我們就需要分別打出不同的架構(gòu)包2023-08-08android計算器實現(xiàn)兩位數(shù)的加減乘除
這篇文章主要為大家詳細介紹了android計算器實現(xiàn)兩位數(shù)的加減乘除,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-03-03