欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

android畫線,android畫線動(dòng)畫

Android自定義View ---- 畫一條線

網(wǎng)上有很多關(guān)于三個(gè)構(gòu)造函數(shù)使用時(shí)機(jī)的說(shuō)法,但是說(shuō)法正確的卻沒(méi)有幾家,這里正式的給大家科普一下:

創(chuàng)新互聯(lián)建站是一家專注網(wǎng)站建設(shè)、網(wǎng)絡(luò)營(yíng)銷策劃、微信小程序、電子商務(wù)建設(shè)、網(wǎng)絡(luò)推廣、移動(dòng)互聯(lián)開(kāi)發(fā)、研究、服務(wù)為一體的技術(shù)型公司。公司成立十余年以來(lái),已經(jīng)為上1000+成都發(fā)電機(jī)回收各業(yè)的企業(yè)公司提供互聯(lián)網(wǎng)服務(wù)。現(xiàn)在,服務(wù)的上1000+客戶與我們一路同行,見(jiàn)證我們的成長(zhǎng);未來(lái),我們一起分享成功的喜悅。

詳細(xì)可以看這個(gè)博客:

onMeasure方法是用來(lái)設(shè)置寬高的,當(dāng)然也可以用來(lái)獲取寬高,獲取方法如下:

新手記得打印一下measureWidth,measureHeight。你會(huì)發(fā)現(xiàn)有時(shí)候measureWidth,measureHeight的值為0,所以當(dāng)我們遇到0的時(shí)候不要使用。至于為什么會(huì)有0,我們下次再寫博客講解。

3.繪制一條直線

這里需要傳五個(gè)參數(shù),分別是

效果圖如下

android 中如何畫一條動(dòng)態(tài)的畫一條直線.(即從A到慢慢運(yùn)動(dòng)到B點(diǎn)的軌跡,走過(guò)后軌跡是一條線)

首先找到這條直線的所有點(diǎn),然后開(kāi)啟一個(gè)線程循環(huán)獲取點(diǎn),用Handle發(fā)送消息去畫線

@Override

public void run() {

try {

for(int i = 0 ; i myPointList.size(); i++)

{

MyPoint myPoint = myPointList1.get(i);

Message message = Message.obtain();

message.what = 2;

message.obj = myPoint;

mHandler.sendMessage(message);

Thread.sleep(100);

}

} catch (Exception e) {

e.printStackTrace();

}

}

android中如何利用view視圖添加一條直線

你好!

步驟1:在你創(chuàng)建的工程中新建一個(gè)class文件,隨便起個(gè)名字叫MyView吧,打開(kāi)文件會(huì)看到:

public

class

MyView

{

}

步驟2:讓該類繼承

View類,也就是在MyView后面添幾個(gè)字母,如:

public

class

MyView

extends

View

{

}

步驟3:在上面的這個(gè)類中,寫一個(gè)方法:

public

class

MyView

extends

View

{

protected

void

onDraw(Canvas

canvas)

{

..........

}

}

步驟4:在onDrow方法中寫一條語(yǔ)句:

public

class

MyView

extends

View

{

protected

void

onDraw(Canvas

canvas)

{

canvas.drawLine(起點(diǎn)橫坐標(biāo),起點(diǎn)縱坐標(biāo),終點(diǎn)橫坐標(biāo),終點(diǎn)縱坐標(biāo),線的顏色);

}

}

注:看到“drawLine”了吧,這就是在畫線。

如有疑問(wèn),請(qǐng)追問(wèn)。

android 如何畫一條線

public class MainActivity extends Activity {

private ImageView iv;

private Bitmap baseBitmap;

private Canvas canvas;

private Paint paint;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

this.iv = (ImageView) this.findViewById(R.id.iv);

// 創(chuàng)建一張空白圖片

baseBitmap = Bitmap.createBitmap(480, 640, Bitmap.Config.ARGB_8888);

// 創(chuàng)建一張畫布

canvas = new Canvas(baseBitmap);

// 畫布背景為灰色

canvas.drawColor(Color.GRAY);

// 創(chuàng)建畫筆

paint = new Paint();

// 畫筆顏色為紅色

paint.setColor(Color.RED);

// 寬度5個(gè)像素

paint.setStrokeWidth(5);

// 先將灰色背景畫上

canvas.drawBitmap(baseBitmap, new Matrix(), paint);

iv.setImageBitmap(baseBitmap);

iv.setOnTouchListener(new OnTouchListener() {

int startX;

int startY;

@Override

public boolean onTouch(View v, MotionEvent event) {

switch (event.getAction()) {

case MotionEvent.ACTION_DOWN:

// 獲取手按下時(shí)的坐標(biāo)

startX = (int) event.getX();

startY = (int) event.getY();

break;

case MotionEvent.ACTION_MOVE:

// 獲取手移動(dòng)后的坐標(biāo)

int stopX = (int) event.getX();

int stopY = (int) event.getY();

// 在開(kāi)始和結(jié)束坐標(biāo)間畫一條線

canvas.drawLine(startX, startY, stopX, stopY, paint);

// 實(shí)時(shí)更新開(kāi)始坐標(biāo)

startX = (int) event.getX();

startY = (int) event.getY();

iv.setImageBitmap(baseBitmap);

break;

}

return true;

}

});

}

public void save(View view) {

try {

File file = new File(Environment.getExternalStorageDirectory(),

System.currentTimeMillis() + ".jpg");

OutputStream stream = new FileOutputStream(file);

baseBitmap.compress(CompressFormat.JPEG, 100, stream);

stream.close();

// 模擬一個(gè)廣播,通知系統(tǒng)sdcard被掛載

Intent intent = new Intent();

intent.setAction(Intent.ACTION_MEDIA_MOUNTED);

intent.setData(Uri.fromFile(Environment

.getExternalStorageDirectory()));

sendBroadcast(intent);

Toast.makeText(this, "保存圖片成功", 0).show();

} catch (Exception e) {

Toast.makeText(this, "保存圖片失敗", 0).show();

e.printStackTrace();

}

}

}

android 百度地圖上怎么畫線,畫圓

//代碼如下

import?android.content.Context;

import?android.graphics.Canvas;

import?android.graphics.Color;

import?android.graphics.Paint;

import?android.graphics.Paint.Style;

import?android.graphics.Path;

import?android.graphics.Point;

import?android.os.Bundle;

import?com.baidu.mapapi.BMapManager;

import?com.baidu.mapapi.GeoPoint;

import?com.baidu.mapapi.MapActivity;

import?com.baidu.mapapi.MapController;

import?com.baidu.mapapi.MapView;

import?com.baidu.mapapi.Overlay;

import?com.baidu.mapapi.Projection;

public?class?BaiduMapActivity?extends?MapActivity?{

private?Context?mContext;

private?MapView?mapView;

@Override

protected?boolean?isRouteDisplayed()?{

//?TODO?Auto-generated?method?stub

return?false;

}

private?GeoPoint?gpoint1,?gpoint2,?gpoint3;//?連線的點(diǎn)

@Override

protected?void?onCreate(Bundle?arg0)?{

super.onCreate(arg0);

setContentView(R.layout.baidumap_layout);

BaseApplication?baseApp?=?(BaseApplication)?this.getApplication();

if?(baseApp.mBMapManage?==?null)?{

baseApp.mBMapManage?=?new?BMapManager(mContext);

baseApp.mBMapManage.init(baseApp.mStrKey,

new?BaseApplication.MyGeneralListener());

}

baseApp.mBMapManage.start();

super.initMapActivity(baseApp.mBMapManage);//?初始化map?sdk

mapView?=?(MapView)?findViewById(R.id.bmapView);

mapView.setBuiltInZoomControls(true);

//?設(shè)置在縮放動(dòng)畫過(guò)程中也顯示overlay,默認(rèn)為不繪制

mapView.setDrawOverlayWhenZooming(true);

//?RouteLine?routeLine?=

//?(RouteLine)getIntent().getSerializableExtra("routeLine");

//這里畫點(diǎn)和連接線

MyOverlay?myOverlay?=?new?MyOverlay();

mapView.getOverlays().add(myOverlay);

MapController?mapController?=?mapView.getController();

mapController.zoomIn();

gpoint1?=?new?GeoPoint((int)?(2259316?*?10),

(int)?(11396279?*?10));

gpoint2?=?new?GeoPoint((int)?(2259245?*?10),

(int)?(11396226?*?10));

gpoint3?=?new?GeoPoint((int)?(2259121?*?10),

(int)?(11396066?*?10));????????????????

mapController.animateTo(gpoint1);//設(shè)置一個(gè)起點(diǎn)

}

class?MyOverlay?extends?Overlay?{

@Override

public?void?draw(Canvas?canvas,?MapView?mapView,?boolean?shadow)?{

super.draw(canvas,?mapView,?shadow);

Projection?projection?=?mapView.getProjection();

Point?p1?=?new?Point();

Point?p2?=?new?Point();

Point?p3?=?new?Point();

//?經(jīng)度轉(zhuǎn)像素

projection.toPixels(gpoint1,?p1);

projection.toPixels(gpoint2,?p2);

projection.toPixels(gpoint3,?p3);

//第一個(gè)畫筆?畫圓

Paint?fillPaint?=?new?Paint();

fillPaint.setColor(Color.BLUE);

fillPaint.setAntiAlias(true);

fillPaint.setStyle(Style.FILL);

//?將圖畫到上層

canvas.drawCircle(p1.x,?p1.y,?5.0f,?fillPaint);

canvas.drawCircle(p2.x,?p2.y,?5.0f,?fillPaint);

canvas.drawCircle(p3.x,?p3.y,?5.0f,?fillPaint);

//第二個(gè)畫筆?畫線

Paint?paint?=?new?Paint();

paint.setColor(Color.BLUE);

paint.setDither(true);

paint.setStyle(Paint.Style.STROKE);

paint.setStrokeJoin(Paint.Join.ROUND);

paint.setStrokeCap(Paint.Cap.ROUND);

paint.setStrokeWidth(4);

//連接

Path?path?=?new?Path();

path.moveTo(p1.x,?p1.y);

path.lineTo(p2.x,?p2.y);

path.lineTo(p3.x,?p3.y);

//畫出路徑

canvas.drawPath(path,?paint);

}

}

}

名稱欄目:android畫線,android畫線動(dòng)畫
網(wǎng)頁(yè)網(wǎng)址:http://chinadenli.net/article10/dsgeigo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)網(wǎng)站建設(shè)App設(shè)計(jì)企業(yè)網(wǎng)站制作自適應(yīng)網(wǎng)站電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司