在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Ohos-MPChart組件功能描述

OpenAtom OpenHarmony ? 來源:OpenAtom OpenHarmony ? 作者:劉政宏 ? 2022-09-23 11:01 ? 次閱讀

劉政宏

潤和軟件高級(jí)開發(fā)工程師

簡介

Ohos-MPChart是OpenAtom OpenHarmony(簡稱“OpenHarmony”)系統(tǒng)顯示各種圖表視圖的三方組件,用于聲明式應(yīng)用開發(fā),提供了多種多樣的圖表視圖,包括折線圖、曲線圖、柱形圖、餅狀圖、K線圖、雷達(dá)圖、氣泡圖。適用于各種統(tǒng)計(jì)后的數(shù)據(jù)以視覺直觀的方式呈現(xiàn)。

使用場(chǎng)景

Ohos-MPChart為廣大OpenHarmony應(yīng)用開發(fā)者在處理數(shù)據(jù)時(shí),使數(shù)據(jù)顯示更加直觀。尤其現(xiàn)在的大數(shù)據(jù)時(shí)代面對(duì)愈加龐大的數(shù)據(jù)只需要導(dǎo)入Ohos-MPChart三方組件,然后調(diào)用相關(guān)的接口就能實(shí)現(xiàn)各種各樣的圖表以方便數(shù)據(jù)匯總。

效果展示

ae40a544-3a7b-11ed-9e49-dac502259ad0.gif

組件功能描述

Ohos-MPChart是一個(gè)強(qiáng)大的圖表視圖,主要提供多種多樣的圖表視圖,包括折線圖、曲線圖、柱形圖、餅狀圖、K線圖等等,具體功能模塊如下:

af77168c-3a7b-11ed-9e49-dac502259ad0.jpg

開發(fā)環(huán)境

安裝IDE:支持DevEco Studio 3.0 Release(Build Version 3.0.0.993)版本。安裝SDK:支持OpenHarmony API version 8 及以上版本

使用方法

圖表一:折線圖

b0d26eb4-3a7b-11ed-9e49-dac502259ad0.png

1.下載Ohos-MPChart組件并導(dǎo)入LineChart自定義組件:

//下載mpchart組件  npm install @ohos/mpchart --saveimport{LineChart}from'@ohos/ohos_mpchart'

OpenHarmony npm環(huán)境配置等更多內(nèi)容,請(qǐng)參考安裝教程

如何安裝OpenHarmony npm包

https://gitee.com/openharmony-tpc/docs/blob/master/OpenHarmony_npm_usage.md

2.初始化數(shù)據(jù)

aboutToAppear() {    this.lineData = this.initCurveData(45, 100);    this.topAxis.setLabelCount(5, false);    this.topAxis.setPosition(XAxisPosition.TOP);    this.topAxis.setAxisMinimum(0);    this.topAxis.setAxisMaximum(50);    this.bottomAxis.setLabelCount(5, false);this.bottomAxis.setPosition(XAxisPosition.BOTTOM);    this.bottomAxis.setAxisMinimum(0);    this.bottomAxis.setAxisMaximum(50);    this.bottomAxis.setDrawAxisLine(false);    this.bottomAxis.setDrawLabels(false)
    this.leftAxis = new YAxis(AxisDependency.LEFT);    this.leftAxis.setLabelCount(7, false);    this.leftAxis.setPosition(YAxisLabelPosition.OUTSIDE_CHART);    this.leftAxis.setSpaceTop(15);    this.leftAxis.setAxisMinimum(-50);    this.leftAxis.setAxisMaximum(200);    this.leftAxis.enableGridDashedLine(5,5,0)
    this.rightAxis = new YAxis(AxisDependency.RIGHT);    this.rightAxis.setDrawGridLines(false);    this.rightAxis.setLabelCount(7, false);    this.rightAxis.setSpaceTop(11);    this.rightAxis.setAxisMinimum(-50); // this replaces setStartAtZero(true)    this.rightAxis.setAxisMaximum(200);    this.rightAxis.setDrawAxisLine(false);
    var upperLimtLine:LimitLine= new LimitLine(150, "Upper Limit");    upperLimtLine.setLineWidth(4);    upperLimtLine.enableDashedLine(10, 10, 0);    upperLimtLine.setLabelPosition(LimitLabelPosition.RIGHT_TOP);    upperLimtLine.setTextSize(10);
    var lowerLimtLine:LimitLine= new LimitLine(-30, "Lower Limit");    lowerLimtLine.setLineWidth(4);    lowerLimtLine.enableDashedLine(5, 5, 0);    lowerLimtLine.setLabelPosition(LimitLabelPosition.RIGHT_BOTTOM);    lowerLimtLine.setTextSize(10);
    this.leftAxis.setDrawLimitLinesBehindData(true);    this.leftAxis.addLimitLine(upperLimtLine);    this.leftAxis.addLimitLine(lowerLimtLine);  }  private initCurveData(count: number, range: number): LineData {
    let values = new JArrayList();
    for (let i = 0; i < 50; i++) {      let val: number = Math.random() * 180 - 30;      values.add(new EntryOhos(i, val));    }
    let gradientFillColor = new Array();    gradientFillColor.push(['#ffff0000', 0.1])    gradientFillColor.push(['#00ff0000', 1.0])
    let dataSet = new JArrayList();
    let set1 = new LineDataSet(values, "DataSet 1");    set1.setDrawFilled(true);    set1.enableDashedLine(10,5,0)    set1.setMode(Mode.LINEAR);    set1.setGradientFillColor(gradientFillColor)    set1.setColorByColor(Color.Black);    set1.setLineWidth(1)    set1.setDrawCircles(true);    set1.setCircleColor(Color.Black);    set1.setCircleRadius(2);    set1.setCircleHoleRadius(1)    set1.setCircleHoleColor(Color.Green)    set1.setDrawCircleHole(false)    dataSet.add(set1);
    return new LineData(dataSet)}

3.添加數(shù)據(jù)到自定義曲線圖表組件

build() {    Stack({ alignContent: Alignment.TopStart }) {       LineChart({        topAxis: this.topAxis,        bottomAxis: this.bottomAxis,        width: this.width,        height: this.height,        minOffset: this.minOffset,        leftAxis: this.leftAxis,        rightAxis: this.rightAxis,        lineData: this.lineData,      })    }}

圖表二:柱狀圖

b10a56d0-3a7b-11ed-9e49-dac502259ad0.png

1.導(dǎo)入BarChart自定義組件:

import{BarChart,BarChartModel} from '@ohos/ohos_mpchart'

2.初始化數(shù)據(jù)

@State model:BarChartModel = new BarChartModel();  width: number = 350; //表的寬度  height: number = 500; //表的高度  minOffset: number = 15; //X軸線偏移量  leftAxis: YAxis = null;  rightAxis: YAxis = null;  bottomAxis: XAxis = new XAxis();
  private aboutToAppear(){    this.leftAxis = new YAxis(AxisDependency.LEFT);    this.leftAxis.setLabelCount(6, false);    this.leftAxis.setPosition(YAxisLabelPosition.OUTSIDE_CHART);    this.leftAxis.setSpaceTop(15);    this.leftAxis.setAxisMinimum(0);    this.leftAxis.setAxisMaximum(110);    this.leftAxis.enableGridDashedLine(10,10,0)
    this.rightAxis = new YAxis(AxisDependency.RIGHT);    this.rightAxis.setDrawGridLines(false);    this.rightAxis.setLabelCount(6, false);    this.rightAxis.setSpaceTop(11);    this.rightAxis.setAxisMinimum(0);    this.rightAxis.setAxisMaximum(110);
    this.bottomAxis.setLabelCount(5, false);    this.bottomAxis.setPosition(XAxisPosition.BOTTOM);    this.bottomAxis.setAxisMinimum(0);    this.bottomAxis.setAxisMaximum(10);
    this.setData(this.bottomAxis.getAxisMaximum(),this.leftAxis.getAxisMaximum())
    this.model.width = this.width;    this.model.height = this.height;    this.model.init();    this.model.setDrawBarShadow(false);    this.model.setDrawValueAboveBar(true);    this.model.getDescription().setEnabled(false);    this.model.setMaxVisibleValueCount(60);    this.model.setLeftYAxis(this.leftAxis);    this.model.setRightYAxis(this.rightAxis);    this.model.setXAxis(this.bottomAxis)    this.model.mRenderer.initBuffers();    this.model.prepareMatrixValuePx();  }  private setData(count: number, range: number) {    let groupSpace: number = 0.08;    let barSpace: number = 0.03; // x4 DataSet    let barWidth: number = 0.2; // x4 DataSet    let groupCount: number = count + 1;    let startYear: number = 1980;    let endYear: number = startYear + groupCount;    let values1:JArrayList =     new JArrayList();    let values2:JArrayList =     new JArrayList();    let values3:JArrayList =     new JArrayList();    let values4:JArrayList =     new JArrayList();    let randomMultiplier: number = range;    for (let i = startYear; i < endYear; i++) {      values1.add(new BarEntry(i,       (Math.random() * randomMultiplier)))      values2.add(new BarEntry(i,       (Math.random() * randomMultiplier)))      values3.add(new BarEntry(i,       (Math.random() * randomMultiplier)))      values4.add(new BarEntry(i,       (Math.random() * randomMultiplier)))    }    let set1: BarDataSet,set2:     BarDataSet,set3: BarDataSet,set4: BarDataSet;    if (this.model.getBarData() != null &&    this.model.getBarData().getDataSetCount() > 0) {      set1 = this.model.getBarData().getDataSetByIndex(0) as BarDataSet;      set2 = this.model.getBarData().getDataSetByIndex(1) as BarDataSet;      set3 = this.model.getBarData().getDataSetByIndex(2) as BarDataSet;      set4 = this.model.getBarData().getDataSetByIndex(3) as BarDataSet;      set1.setValues(values1);      set2.setValues(values2);      set3.setValues(values3);      set4.setValues(values4);      this.model.getBarData().notifyDataChanged();      this.model.notifyDataSetChanged();
    } else {      let colors: number[] =       [Color.rgb(104, 241, 175),Color.rgb(164, 228, 251),Color.rgb(242, 247, 158),Color.rgb(255, 102, 0)];      set1 = new BarDataSet(values1, "Company A");      set1.setColorsByArr(colors);      set2 = new BarDataSet(values2, "Company B");      set2.setColorsByArr(colors);      set3 = new BarDataSet(values3, "Company C");      set3.setColorsByArr(colors);      set4 = new BarDataSet(values2, "Company D");      set4.setColorsByArr(colors);
      let dataSets: JArrayList =       new JArrayList();      dataSets.add(set1);      dataSets.add(set2);      dataSets.add(set3);      dataSets.add(set4);
      let data: BarData = new BarData(dataSets);      this.model.setData(data);    }    this.model.getBarData().setBarWidth(barWidth);    this.bottomAxis.setAxisMinimum(startYear);    this.bottomAxis.setAxisMaximum(startYear + this.model.getBarData().getGroupWidth(groupSpace, barSpace) * groupCount);    this.model.groupBars(startYear, groupSpace, barSpace);}

3.添加數(shù)據(jù)到自定義曲線圖表組件

build() {    Stack(){      BarChart({model:this.model})    }}

圖表三:餅狀圖

b129d320-3a7b-11ed-9e49-dac502259ad0.png

1.導(dǎo)入PieChart自定義組件:

import { PieChart } from '@ohos/ohos_mpchart'

2.初始化數(shù)據(jù)

pieData: PieData = null;  @State pieModel: PieChart.Model = new PieChart.Model()  @State @Watch("seekBarXValueWatch")   seekBarX: SeekBar.Model = new SeekBar.Model()  @State @Watch("seekBarYValueWatch")   seekBarY: SeekBar.Model = new SeekBar.Model()  parties: string[] = [    "Party A", "Party B", "Party C", "Party D", "Party E", "Party F", "Party G", "Party H",    "Party I", "Party J", "Party K", "Party L", "Party M", "Party N", "Party O", "Party P",    "Party Q", "Party R", "Party S", "Party T", "Party U", "Party V", "Party W", "Party X",    "Party Y", "Party Z"]
  private aboutToAppear(): void {    this.pieData = this.initPieData(4, 10);    this.pieModel      .setPieData(this.pieData)      .setRadius(150)      .setHoleRadius(0.5)      .setOffset(new MPPointF(160,200))   // vp  }  private initPieData(count: number,   range: number): PieData{    let entries = new JArrayList();    for (var i = 0; i < count; i++) {      entries.add(new PieEntry(((Math.random() * range) + range / 5), this.parties[i % this.parties.length]))    }    //        entries.add(new PieEntry(4,'Party A'))    //        entries.add(new PieEntry(2,'Party B'))    //        entries.add(new PieEntry(5,'Party C'))    //        entries.add(new PieEntry(3,'Party D'))
    let dataSet: PieDataSet = new PieDataSet(entries,     "Election Results");    dataSet.setDrawIcons(false);    dataSet.setSliceSpace(3);    dataSet.setIconsOffset(new MPPointF(0, 40));    dataSet.setSelectionShift(5);
    // add a lot of colors    let colors: JArrayList = new JArrayList();    for (let index = 0;     index < ColorTemplate.VORDIPLOM_COLORS.length; index++) {      colors.add(ColorTemplate.VORDIPLOM_COLORS[index]);    }
    for (let index = 0;     index < ColorTemplate.JOYFUL_COLORS.length; index++) {      colors.add(ColorTemplate.JOYFUL_COLORS[index]);    }
    for (let index = 0;     index < ColorTemplate.COLORFUL_COLORS.length; index++) {      colors.add(ColorTemplate.COLORFUL_COLORS[index]);    }    for (let index = 0;     index < ColorTemplate.LIBERTY_COLORS.length; index++) {      colors.add(ColorTemplate.LIBERTY_COLORS[index]);    }    for (let index = 0;     index < ColorTemplate.PASTEL_COLORS.length; index++) {      colors.add(ColorTemplate.PASTEL_COLORS[index]);    }    colors.add(ColorTemplate.getHoloBlue());    dataSet.setColorsByList(colors);    return new PieData(dataSet)}

3.添加數(shù)據(jù)到自定義曲線圖表組件

build() {    Column() {      PieChart({        model: this.pieModel      })  }

圖表四:雷達(dá)圖

b189e45e-3a7b-11ed-9e49-dac502259ad0.png

1.導(dǎo)入RadarChart自定義組件:

import{RadarChart}from'@ohos/ohos_mpchart';

2.初始化數(shù)據(jù)

width: number = 300; //表的寬度  height: number = 300 //表的高度  minOffset: number = 5; //X軸線偏移量  xAxis: XAxis = new XAxis(); //頂部X軸  yAxis: YAxis = new YAxis();  data:RadarData= new RadarData();  @State  radarChartMode:RadarChartMode=new RadarChartMode();public aboutToAppear() {    this.model.menuItemArr = this.menuItemArr    this.model.title = this.title
    this.data=this.initRadarData( 5,50)    this.xAxis.setTextSize(9);    this.xAxis.setYOffset(0);    this.xAxis.setXOffset(0);    this.xAxis.setTextColor(Color.White);    const mActivities:string[] = ["Burger", "Steak", "Salad", "Pasta", "Pizza"];    this.xAxis.setValueFormatter(new     class RadarAxisValueFormatter     implements IAxisValueFormatter{      public  getFormattedValue( value:number,        axisstring {        return mActivities[value % mActivities.length];      }    });    this.xAxis.longest=mActivities[0];    this.yAxis.setLabelCount(5, false);    this.yAxis.setTextSize(9);    this.yAxis.setAxisMinimum(0);    this.yAxis.setAxisMaximum(80);    this.yAxis.setDrawLabels(false);
    this.radarChartMode.mRotateEnabled=false    this.radarChartMode.setYExtraOffset(this.model.height)    this.radarChartMode.setXAxis(this.xAxis)    this.radarChartMode.setYAxis(this.yAxis)    this.radarChartMode.setWidth(this.width)    this.radarChartMode.setHeight(this.height)    this.radarChartMode.setMinOffset(this.minOffset)    this.radarChartMode.setData(this.data)    this.radarChartMode.setPaddingLeft(30)    this.radarChartMode.setPaddingTop(100)    this.radarChartMode.init();    //this.animate('Animate XY')  }
  private initRadarData(count: number,   range: number): RadarData {    let mul:number = 80;    let min:number = 20;    let cnt:number = 5;    let entries1 = new JArrayList ();    let entries2 = new JArrayList ();
    // NOTE: The order of the entries when being added to the entries array determines their position around the center of    // the chart.    for (let i = 0; i < cnt; i++) {      let val1:number = Math.random() * mul + min;      entries1.add(new RadarEntry(val1));
      let val2:number = Math.random() * mul + min;      entries2.add(new RadarEntry(val2));    }    let set1:RadarDataSet = new RadarDataSet(entries1,     "Last Week");    set1.setColorByColor(0xb4676e81);    set1.setFillColor(0xb4676e81);    set1.setDrawFilled(true);    set1.setFillAlpha(180);    set1.setLineWidth(2);    set1.setDrawHighlightCircleEnabled(true);    set1.setDrawHighlightIndicators(false);    set1.setHighlightCircleStrokeColor(0xffffffff);    set1.setHighlightCircleFillColor(0xb4676e81)    set1.setDrawValues(true)    set1.setIconsOffset(new MPPointF(0, px2vp(0)));
    let set2:RadarDataSet = new RadarDataSet(entries2, "This Week");    set2.setColorByColor(0xb479a2af);    set2.setFillColor(0xb479a2af);    set2.setDrawFilled(true);    set2.setFillAlpha(180);    set2.setLineWidth(2);    set2.setDrawHighlightCircleEnabled(true);    set2.setDrawHighlightIndicators(false);    set2.setHighlightCircleStrokeColor(0xffffffff);    set2.setHighlightCircleFillColor(0xb479a2af)    set2.setDrawValues(true)    set2.setIconsOffset(new MPPointF(0, px2vp(0)));
    let sets = new JArrayList();    sets.add(set1);    sets.add(set2);    //    let data:RadarData = new RadarData(sets);    data.setValueTextSize(8);    data.setDrawValues(this.isDrawValuesEnable);    data.setValueTextColor(Color.White);    return data  }  public getFormattedValue(value: number): string {    var str = String(value.toFixed(1)).split(".");    if(str[1] == "0"){      return str[0];    }else{      return String(value.toFixed(1))    }}

3.添加數(shù)據(jù)到自定義曲線圖表組件

build() {    Column() {      Stack({ alignContent: Alignment.TopStart }) {        RadarChart({          radarChartMode:this.radarChartMode,        })      }    }}

其他圖表使用方式與以上圖表使用方法基本一致

b1b39146-3a7b-11ed-9e49-dac502259ad0.png

b1e48ec2-3a7b-11ed-9e49-dac502259ad0.png

b223952c-3a7b-11ed-9e49-dac502259ad0.png

b2479026-3a7b-11ed-9e49-dac502259ad0.png

b2712f80-3a7b-11ed-9e49-dac502259ad0.png

b29a53e2-3a7b-11ed-9e49-dac502259ad0.png

b2bd0aea-3a7b-11ed-9e49-dac502259ad0.png

b2dc3a1e-3a7b-11ed-9e49-dac502259ad0.png


審核編輯:湯梓紅


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • OpenHarmony
    +關(guān)注

    關(guān)注

    28

    文章

    3836

    瀏覽量

    18211
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    鴻蒙開源第三方組件資料合集

    不同類型的log。同時(shí),Timber_ohos是項(xiàng)目開發(fā)時(shí)的log開關(guān),通過此開關(guān)控制log的打印與關(guān)閉,從而形成不同的軟件版本。該組件功能豐富且使用簡單高效,可以被廣泛應(yīng)用于軟件項(xiàng)目開發(fā)中。
    發(fā)表于 03-23 09:53

    94個(gè)JS/eTS開源組件首發(fā)上新,肯定有你要用的一款!

    圖表視圖庫ohos-MPChart,提供豐富多樣的選擇器的ohos-PickerView等等。更多好用的組件等你去發(fā)現(xiàn)哦,下面我們就來看看如何獲取這些組件。 三、如何獲取開源
    發(fā)表于 05-09 14:51

    Ohos-MPChart——支持多種圖表繪制的組件

    應(yīng)用開發(fā)者在處理數(shù)據(jù)時(shí),使數(shù)據(jù)顯示更加直觀。尤其現(xiàn)在的大數(shù)據(jù)時(shí)代面對(duì)愈加龐大的數(shù)據(jù)只需要導(dǎo)入Ohos-MPChart三方組件,然后調(diào)用相關(guān)的接口就能實(shí)現(xiàn)各種各樣的圖表以方便數(shù)據(jù)匯總。效果展示組件
    發(fā)表于 09-30 14:40

    Ohos-MPChart——支持多種圖表繪制的組件

    的大數(shù)據(jù)時(shí)代面對(duì)愈加龐大的數(shù)據(jù)只需要導(dǎo)入Ohos-MPChart三方組件,然后調(diào)用相關(guān)的接口就能實(shí)現(xiàn)各種各樣的圖表以方便數(shù)據(jù)匯總。效果展示組件功能
    發(fā)表于 11-20 10:11

    鴻蒙系統(tǒng)的手勢(shì)操控組件代碼現(xiàn)已開源

    基于安卓平臺(tái)的手勢(shì)操控組件 PinchImageView-ohos,實(shí)現(xiàn)鴻蒙的功能化遷移和重構(gòu)。代碼已經(jīng)開源,歡迎各位開發(fā)者提出寶貴意見。 開源地址: https://gitee.com
    的頭像 發(fā)表于 06-24 18:16 ?3096次閱讀

    HarmonyOS系統(tǒng)TextField組件基本用法

    1. TextField組件基本用法 組件說明: 是Text的子類,用來進(jìn)行用戶輸入數(shù)據(jù)的 常見屬性: 《TextField ohos:id=“$+id:text” ohos:heig
    的頭像 發(fā)表于 10-09 09:18 ?1831次閱讀
    HarmonyOS系統(tǒng)TextField<b class='flag-5'>組件</b>基本用法

    基于開源GSYRickText進(jìn)行的OHOS化移植和開發(fā)

    項(xiàng)目介紹: 本項(xiàng)目是基于開源項(xiàng)目GSYRickText 進(jìn)行OHOS化的移植和開發(fā)的。 移植版本:v2.0.2 項(xiàng)目名稱:GSYRichText 所屬系列:OHOS的第三方組件適配移植 功能
    發(fā)表于 03-18 15:31 ?3次下載

    基于openharmony移植的ohos拼圖支持庫

    項(xiàng)目介紹 項(xiàng)目名稱:PuzzleView 所屬系列:openharmony的第三方組件適配移植 功能ohos拼圖支持庫 項(xiàng)目移植狀態(tài):主功能完成,由于
    發(fā)表于 03-22 11:24 ?2次下載

    基于openharmony適配移植的Ohos應(yīng)用程序評(píng)價(jià)

    項(xiàng)目介紹 項(xiàng)目名稱:OhosRateThisApp 所屬系列:openharmony的第三方組件適配移植 功能ohos庫顯示“為該應(yīng)用評(píng)分”對(duì)話框 項(xiàng)目移植狀態(tài):主功能完成 調(diào)用差異
    發(fā)表于 03-28 10:33 ?2次下載

    openharmony第三方組件適配移植易于使用的ohos

    項(xiàng)目介紹 項(xiàng)目名稱:MaterialScrollBar 所屬系列:openharmony的第三方組件適配移植 功能:易于使用的ohos庫,可輕松實(shí)現(xiàn)滾動(dòng)跟隨效果 項(xiàng)目移植狀態(tài):主功能
    發(fā)表于 03-30 10:44 ?0次下載

    openharmony移植可設(shè)置間隔的自動(dòng)滑動(dòng)pagerslider組件

    項(xiàng)目介紹 項(xiàng)目名稱:ohos-auto-scroll-view-pager 所屬系列:openharmony的第三方組件適配移植 功能:一個(gè)可設(shè)置間隔的自動(dòng)滑動(dòng)pagerslider組件
    發(fā)表于 03-31 10:48 ?1次下載

    openharmony第三方組件適配移植的SVGA動(dòng)畫渲染庫

    項(xiàng)目介紹 項(xiàng)目名稱:SVGAPlayer-Ohos 所屬系列:openharmony的第三方組件適配移植 功能:SVGAPlayer-Ohos 是一個(gè)輕量的動(dòng)畫渲染庫。你可以使用工具從
    發(fā)表于 04-02 11:47 ?15次下載

    基于開源SiliCompressor進(jìn)行適用OHOS移植的音視頻壓縮庫教程

    項(xiàng)目介紹 項(xiàng)目名稱:SiliCompressor 所屬系列:OHOS的第三方組件適配移植 實(shí)現(xiàn)功能:圖片壓縮功能 集成指引 方式一: 下載或自行編譯生成silicompressor-f
    發(fā)表于 04-02 15:17 ?7次下載

    Ohos-MPChart如何實(shí)現(xiàn)各種各樣的圖表

    Ohos-MPChart是OpenAtom OpenHarmony(簡稱“OpenHarmony”)系統(tǒng)顯示各種圖表視圖的三方組件,用于聲明式應(yīng)用開發(fā),提供了多種多樣的圖表視圖,包括折線圖、曲線圖、柱形圖、餅狀圖、K線圖、雷達(dá)圖、氣泡圖。適用于各種統(tǒng)計(jì)后的數(shù)據(jù)以視覺直觀的
    的頭像 發(fā)表于 09-23 11:08 ?1716次閱讀

    鴻蒙ArkTS聲明式組件:Web

    提供具有網(wǎng)頁顯示能力的Web組件,[@ohos.web.webview]提供web控制能力。
    的頭像 發(fā)表于 07-04 15:35 ?1259次閱讀
    鴻蒙ArkTS聲明式<b class='flag-5'>組件</b>:Web
    主站蜘蛛池模板: 免费播放一区二区三区 | 亚洲欧美网 | 午夜久久久久久网站 | 国产视频一区二 | 黄色网欧美 | 在线播放视频网站 | 黄网在线观看 | 成人黄色一级片 | 狠狠色噜噜狠狠狠狠91 | 性国产精品 | 日韩三级一区 | 天天夜夜久久 | bt天堂电影 | 中国特黄一级片 | 农村女人的一级毛片 | 97色婷婷成人综合在线观看 | 丁香花在线 | xxxx曰本| 深爱婷婷网 | 黄在线观看在线播放720p | 男人边吃奶边爱边做视频日韩 | 人人做人人爽国产视 | yy6080理aa级伦大片一级 | 午夜剧场刺激性爽免费视频 | 午夜精品久久久久久久99 | 黄色毛片免费 | 中文字幕11页 | 人人免费人人专区 | 欧洲乱码专区一区二区三区四区 | 天天狠天天操 | 黄免费网站| 国产一级做a爱免费观看 | 国产精品福利在线观看免费不卡 | 亚洲高清不卡视频 | 拍拍拍成人免费高清视频 | 国产精品激情综合久久 | 美女视频很黄很a免费国产 美女视频很黄很暴黄是免费的 | 俄罗斯一级特黄黄大片 | 一区二区三区在线看 | 理论片午午伦夜理片影院99 | 女生张开腿让男人桶 |