導航:首頁 > 操作系統 > android繪制

android繪制

發布時間:2022-04-13 15:56:06

Ⅰ 繪制android圖表有幾種框架

AChartEngine(簡稱ACE)是Google的一個開源圖表庫(for Android)。它功能強大,支持散點圖、折線圖、餅圖、氣泡圖、柱狀圖、短棒圖、儀表圖等多種圖表。

Ⅱ android surfaceview怎麼繪制

SurfaceView是View的一個特殊子類,它的目的是另外提供一個線程進行繪制操作。

要使用SurfaceView進行繪制,步驟如下:
1.用SurfaceView進行繪制,首先要創建一個類,繼承 SurfaceView,同時這個類應該實現SurfaceHolder.Callback介面。
這個介面中的三個回調函數(surfaceChanged(SurfaceHolder holder, int format, int width, int height),surfaceCreated(SurfaceHolder holder),surfaceDestroyed(SurfaceHolder holder))分別對應Surface何時更改、創建和銷毀。
2.對Surface對象的操作是通過SurfaceHolder來進行的。所以,在你的SurfaceView類初始化的時候,你需要調用 getHolder()來獲得SurfaceHolder對象,然後用addCallback()加上回調介面(因為你的類實現了相應的介面,所以此處傳入this即可)。
3.在你的SurfaceView類中應該建立一個線程類,處理繪制操作。為此,要向這個線程類傳遞上面獲得的SurfaceHolder對象。
4.繪制:在線程類的run()方法中進行繪制操作,通過lockCanvas()方法獲得Canvas對象,然後就可以用這個對象進行繪制,繪制完成後調用unlockCanvasAndPost(),傳入Canvas對象,這時Surface將會按Canvas進行繪制。
注意:每次利用SurfaceHolder獲得畫布時,前一次的內容將會保留。

Ⅲ android Canvas繪制的圖形(如:圓),如何實現繪制完後還能編輯

Canvas有很多方法,比如
Canvas.translate(float dx, float dy) 平移
Canvas.rotate(float degrees, float px, float py) 旋轉
還有狀態的保存與恢復,還可以使用 Matrix 來做自定義變換。

Ⅳ android 怎麼手動繪制幾何圖形源碼

可以參考下面的代碼
package cn.m15.xys;
import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.RectF;
import android.os.Bundle;
import android.view.View;
public class Geometry extends Activity {
public int mScreenWidth = 0;
public int mScreenHeight = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
setContentView(new GeometryView(this));
super.onCreate(savedInstanceState);
}
class GeometryView extends View {
Paint mPaint = null;
public GeometryView(Context context) {
super(context);
mPaint = new Paint();
mPaint.setFlags(Paint.ANTI_ALIAS_FLAG);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
//設置畫布顏色 也就是背景顏色
canvas.drawColor(Color.WHITE);
mPaint.setColor(Color.BLACK);
canvas.drawText("繪制無規則幾何圖形喔!!!", 150, 30, mPaint);
//繪制一條線
mPaint.setColor(Color.BLACK);
mPaint.setStrokeWidth(4);
canvas.drawLine(0, 0, 100, 100, mPaint);
//繪制一個矩形
mPaint.setColor(Color.YELLOW);
canvas.drawRect(0, 120, 100, 200, mPaint);
//繪制一個圓形
mPaint.setColor(Color.BLUE);
canvas.drawCircle(80, 300, 50, mPaint);
//繪制一個橢圓
mPaint.setColor(Color.CYAN);
canvas.drawOval(new RectF(300,370,120,100), mPaint);
//繪制多邊形
mPaint.setColor(Color.BLACK);
Path path = new Path();
path.moveTo(150+5 , 400 -50);
path.lineTo(150+45, 400 - 50);
path.lineTo(150+30, 460 - 50);
path.lineTo(150+20, 460 - 50);
path.close();
canvas.drawPath(path, mPaint);
}
}
}

Ⅳ android 繪制過程,onmeasure 的原理,解決了什麼問題

Android中View的繪制過程
當Activity獲得焦點時,它將被要求繪制自己的布局,Android framework將會處理繪制過程,Activity只需提供它的布局的根節點。
繪制過程從布局的根節點開始,從根節點開始測量和繪制整個layout tree。
每一個ViewGroup 負責要求它的每一個孩子被繪制,每一個View負責繪制自己。
因為整個樹是按順序遍歷的,所以父節點會先被繪制,而兄弟節點會按照它們在樹中出現的順序被繪制。

繪制是一個兩遍(two pass)的過程:一個measure pass和一個layout pass。
測量過程(measuring pass)是在measure(int, int)中實現的,是從樹的頂端由上到下進行的。
在這個遞歸過程中,每一個View會把自己的dimension specifications傳遞下去。
在measure pass的最後,每一個View都存儲好了自己的measurements,即測量結果。

第二個是布局過程(layout pass),它發生在 layout(int, int, int, int)中,仍然是從上到下進行(top-down)。
在這一遍中,每一個parent都會負責用測量過程中得到的尺寸,把自己的所有孩子放在正確的地方。

Ⅵ android 繪制圖片的一部分

Canvas類用來實現繪制.通過組合使用Canvas類的成員函數可以實現隨心隨欲地繪制圖片的任何部分.
Canvas.clipRect:設置顯示區域
Canvas.drawBitmap:繪制
例子:
Bitmap
b=BitmapFactory.decodeStream("圖片編號",
null);//讀取圖片
...
Canvas
c
=
null;//實例Canvas
c.save();//記錄原來的canvas狀態
c.clipRect(100,100,200,300);//顯示從(100,100)到(200,300)的區域(單位:象素)
c.drawBitmap(b,10,0,null);
//將閹割過的圖片畫到(10,0)位置
c.restore();//恢復canvas狀態

Ⅶ Android繪制圖片的幾種方式

在android中做圖像鏡像有很多方法,今天算是學習了!
兩種方法如下:

復制代碼 代碼如下:

//方法一
Matrix matrix = new Matrix();
matrix.postScale(leftOrRight, 1, bmpW/2, bmpH/2);//前兩個是xy變換,後兩個是對稱軸中心點
matrix.postTranslate(x, y);
canvas.drawBitmap(bmpLuffy[0], matrix, paint);
//方法二
// canvas.save();
// canvas.scale(-1, 1, x + bmpLuffy[0].getWidth() / 2, y + bmpLuffy[0].getHeight() / 2);
// canvas.drawBitmap(bmpLuffy[0], x, y, paint);
// canvas.restore();

方法一,使用矩陣的方式(3x3)矩陣:
1、先使用postScale的方式將圖片以點(bmpW/2,bmpH/2)為中心,以x=bmpW/2為對稱軸翻轉;
2、使用postTranslate,將圖片移到(x,y)坐標
方法二,畫布翻轉(略)
注意如下問題:
對於其中的bmpW和bmpH是指所用圖片的寬高,需要使用圖片bmp.getWidth()和bmp.getHeight()獲取,
不能使用PC上看到的大小,否則可能會出現錯位!

Ⅷ android開發中怎麼繪制圖形

你要的繪制圖形指的是自己定義控制項的圖形還是畫畫?例如:將原生控制項button設置為帶有圓角矩形,你可以自定義xml然後引用它,然後設置它的線條啊,半徑啊,顏色等
如果是想要實現畫畫的,你可以自定義一個view 類,繼承View,然後在canvas畫,當然得手勢監聽,獲取點擊的坐標,松開獲取的坐標,然後將它們連起來,顏色什麼的自己設置

Ⅸ Android應用程序開發之繪制客戶端

代碼如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

>


<TextView

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_weight="1"

/>


<LinearLayout

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_weight="0.6"

android:background="@android:color/white"

android:orientation="vertical"

>

<TextView

android:layout_width="match_parent"

android:layout_height="1dp"

android:layout_margin="5dp"

android:background="#ff0000"

/>

<TextView

android:layout_margin="5dp"

android:layout_width="60dp"

android:layout_height="60dp"

android:gravity="center"

android:text="W"

android:textSize="20sp"

android:textColor="@android:color/white"

android:background="@android:color/black"

/>

<ImageView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:gravity="center"

android:layout_margin="5dp"

android:background="@android:color/black"

android:src="@drawable/ic_launcher"

/>

</LinearLayout>

</LinearLayout>

閱讀全文

與android繪制相關的資料

熱點內容
博科清空命令 瀏覽:384
簡愛英文pdf 瀏覽:376
cnc編程有前途嗎 瀏覽:586
聯想app怎麼聯網 瀏覽:722
linuxftp命令登錄 瀏覽:1000
android獲取圖片縮略圖 瀏覽:646
神戶制鋼螺桿壓縮機 瀏覽:29
差分演化演算法 瀏覽:567
中山市加密軟體 瀏覽:446
mc反編譯源碼 瀏覽:139
企業商城網站源碼 瀏覽:411
shell腳本編程是什麼 瀏覽:762
單片機led閃爍匯編 瀏覽:203
點淘app怎麼沒金蛋了 瀏覽:878
app拉新哪裡找推廣碼 瀏覽:935
哪個app生活服務好 瀏覽:108
mht安卓用什麼軟體打開 瀏覽:320
html5即時通訊源碼 瀏覽:144
python編程基礎豆瓣 瀏覽:710
程序員亂碼是什麼意思 瀏覽:373