日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android作业四

發布時間:2023/12/9 Android 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android作业四 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

例4_4

設計一個在屏幕上移動小球的程序

布局文件源碼

<LinearLayout 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"tools:context="com.example.my4_1.MainActivity"><com.example.my4_1.TestViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/testview1"/></LinearLayout>

設計圖圖形自定義組件

import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.util.AttributeSet; import android.view.View;class TestView extends View {int x = 150, y = 50;public TestView(Context context, AttributeSet attrs) {super(context, attrs);}void getXY(int _x, int _y) {//獲取坐標x = _x;y = _y;}protected void onDraw(Canvas canvas) {super.onDraw(canvas);canvas.drawColor(Color.CYAN);Paint paint = new Paint();paint.setAntiAlias(true);paint.setColor(Color.BLACK);canvas.drawCircle(x, y, 30, paint);//繪制圓paint.setColor(Color.WHITE);canvas.drawCircle(x - 9, y - 9, 6, paint);paint.setStrokeWidth(3);paint.setColor(Color.WHITE);canvas.drawRect(10, 10, 70, 70, paint);} }

主控文件

import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.MotionEvent; import android.view.View;public class MainActivity extends AppCompatActivity {TestView tView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tView =(TestView)findViewById(R.id.testview1);tView.setOnTouchListener(new mOnTouch());}class mOnTouch implements View.OnTouchListener{public boolean onTouch(View v, MotionEvent event){int x1,y1;x1=(int)event.getX();y1=(int)event.getY();if(event.getAction()==MotionEvent.ACTION_DOWN){繪制移動中的小球tView.getXY(x1,y1);if(x1<=10&&y1<=10){MainActivity.this.finish();}tView.invalidate();return true;}else if(event.getAction()==MotionEvent.ACTION_MOVE){//繪制移動中的小球tView.getXY(x1,y1);if(x1<=10&&y1<=10){MainActivity.this.finish();}tView.invalidate();return true;}return tView.onTouchEvent(event);}} }

結果圖

例4_5

設計一個能在圖片上涂鴉的文件

布局文件

<LinearLayout 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"tools:context=".MainActivity"android:orientation="vertical"><com.example.my4_5.HandWriteandroid:layout_width="fill_parent"android:layout_height="380dp"android:id="@+id/handwriteview"/><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical"android:gravity="center_horizontal"><Buttonandroid:layout_width="200dp"android:layout_height="wrap_content"android:text="clear"android:id="@+id/clear"/></LinearLayout> </LinearLayout>

主控文件

import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button;public class MainActivity extends AppCompatActivity {private HandWrite handWrite=null;private Button clear=null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//此處調用主布局文件,與書本不一致handWrite=(HandWrite)findViewById(R.id.handwriteview);clear=(Button)findViewById(R.id.clear);clear.setOnClickListener(new mClick());}private class mClick implements View.OnClickListener{@Overridepublic void onClick(View v) {handWrite.clear();}} }

HandWrite.java

import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.View;public class HandWrite extends View {Paint paint=null;Bitmap originalBitmap=null;Bitmap new1_Bitmap=null;Bitmap new2_Bitmap=null;float startX=0,startY=0; //劃線起點坐標float clickX=0,clickY=0; //劃線終點坐標boolean isMove=true;boolean isClear=false;int color= Color.GREEN;float strokeWidth=2.0f;public HandWrite(Context context, AttributeSet attrs){super(context,attrs);originalBitmap= BitmapFactory//獲取原始資源.decodeResource(getResources(),R.drawable.icon).copy(Bitmap.Config.ARGB_8888,true);new1_Bitmap=Bitmap.createBitmap(originalBitmap);//建立原始圖像位置}public void clear(){isClear=true;new2_Bitmap=Bitmap.createBitmap(originalBitmap);invalidate();//清除圖像}public void setstyle(float strokeWidth){this.strokeWidth=strokeWidth;}protected void onDraw(Canvas canvas){super.onDraw(canvas);canvas.drawBitmap(HandWriting(new1_Bitmap),0,0,null);}public Bitmap HandWriting(Bitmap o_Bitmap){Canvas canvas=null;if(isClear){canvas=new Canvas(new2_Bitmap);}else{canvas=new Canvas(o_Bitmap);}paint=new Paint();paint.setStyle(Paint.Style.STROKE);paint.setAntiAlias(true);paint.setColor(color);paint.setStrokeWidth(strokeWidth);if(isMove){//劃線canvas.drawLine(startX,startY,clickX,clickY,paint);}startX=clickX;startY=clickY;if(isClear){return new2_Bitmap;//返回新圖像}return o_Bitmap;//若清屏,返回原圖像}public boolean onTouchEvent(MotionEvent event){clickX=event.getX();clickY=event.getY();if(event.getAction()==MotionEvent.ACTION_DOWN){isMove=false;invalidate();return true;}else if(event.getAction()==MotionEvent.ACTION_MOVE){isMove=true;invalidate();return true;}return super.onTouchEvent(event);} }

結果圖


總結

以上是生活随笔為你收集整理的Android作业四的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。