目錄
我可以在其他功能中使用 Canvas 元素來顯示在視圖上嗎
問題內容
我建立了一個佈局,其中包含一些視圖,也包含一個用於繪製圖形的 linearlayout
main_page_layout.xml
##<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.constraintlayout 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:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/bgcolor" android:id="@+id/main_page_layout" > .... <linearlayout android:id="@+id/graphicview" android:layout_width="match_parent" android:layout_height="196dp" android:layout_margintop="64dp" android:layout_marginleft="0dp" android:layout_marginright="0dp" android:background="@color/white" android:orientation="horizontal" app:layout_constraintend_toendof="parent" app:layout_constraintleft_toleftof="parent" app:layout_constrainttop_tobottomof="@id/menulayout" /> ... </androidx.constraintlayout.widget.constraintlayout>
登入後複製
我正在嘗試使用名為 graphplotter 的自訂類別在其上繪製圖形
graphplotter.java
public class graphplotter extends view { private paint paint = null; private bitmap bitmap; private canvas canvas; public graphplotter(context context) { super(context); this.init(); } /* initiates graph plotter */ private void init() { this.paint = new paint(); this.paint.setcolor(color.blue); this.paint.setstrokewidth(5); this.paint.setstyle(paint.style.fill_and_stroke); // create a bitmap and a canvas associated with the bitmap this.bitmap = bitmap.createbitmap(1000, 1000, bitmap.config.argb_8888); this.canvas = new canvas(bitmap); } public void setcolor(int color) { this.paint.setcolor(color); invalidate(); // force a redraw } /* draws a line with a custom color */ public void drawline(float starx, float starty, float stopx, float stopy,int color) { this.setcolor(color); this.canvas.drawline(starx, starty, stopx, stopy, this.paint); } ........
登入後複製
這是我要畫的活動
mainpageactivity.java
#public class MainPageActivity extends AppCompatActivity { private ConnectionHelper connectionHelper = null; private SQLQuery sqlQuery = null; private Person person = null; private TextView txtID = null; private RecyclerView recyclerView = null; private final ProductAdapter productAdapter = null; private AsyncTaskRunner asyncTaskRunner = null; private ViewHolder viewHolder = null; private Spinner graphicTypeSpinner = null; private Button menuButton = null; private ConstraintLayout menuView = null; private List<Product> productList = null; private GraphPlotter graphPlotter = null; @Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); // necessary for onCreate function setContentView(R.layout.main_page_layout); // R = resource , R.layout => layouts directory init(); LinearLayout graphicView = (LinearLayout) findViewById(R.id.graphicView); graphPlotter = new GraphPlotter(this); graphPlotter.drawAxisX(159,159,259, Color.BLUE); graphicView.addView(graphPlotter); } ........... ...................
登入後複製
但我看不到任何線或軸。
我想使用畫布為產品繪製圖形,但看不到任何結果,我的類別或程式碼有什麼問題
正確答案
##將繪製行為放入ondraw() 函數中
@Override protected void onDraw(Canvas canvas) { drawLine(...); drawAxisX(); }
登入後複製
以上是我可以在其他功能中使用 Canvas 元素來顯示在視圖上嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章
<🎜>:種植花園 - 完整的突變指南
3 週前
By DDD
<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
如何修復KB5055612無法在Windows 10中安裝?
3 週前
By DDD
北端:融合系統,解釋
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前
By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)