摘要:如圖表控件對象。用來表示一組柱狀圖。餅狀圖注意,餅狀圖與其他圖表不同的是,餅狀圖并沒有軸,也不支持縮放。為了更好的顯示效果,餅狀圖的布局寬高應(yīng)相等。顯示在內(nèi)測,顯示在外側(cè)。默認(rèn)值為,表示餅狀圖盡可能地占滿整個控件。
HelloChart常見的API 一、主要的類
XXXValue:用來對單個的數(shù)據(jù)進(jìn)行包裝。如PointValue、SubcolumnValue;二、通用的API
XXXChartData:圖表的數(shù)據(jù)模型。如LineChartData、ColumnChartData;
XXXChartView:圖表控件對象。如LineChartView、ColumnChartView;
PreviewXXXChartView:圖表控件的預(yù)覽控件。如PreviewLineChartView;
Axis:坐標(biāo)軸;
Viewport:視圖窗口,用來控制圖表空間的縮放效果和顯示。
AbstractChartData //圖表的數(shù)據(jù)模型抽象類。
setValueLabelBackgroundEnabled(boolean isValueLabelBackgroundEnabled):設(shè)置是否顯示標(biāo)簽的背景
setValueLabelBackgroundColor(int valueLabelBackgroundColor):設(shè)置標(biāo)簽背景顏色
setValueLabelsTextColor(int valueLabelTextColor):設(shè)置標(biāo)簽文字顏色,默認(rèn)為白色
setValueLabelTextSize(int valueLabelTextSize):設(shè)置標(biāo)簽文字字號,默認(rèn)為12sp
setValueLabelTypeface(Typeface typeface):設(shè)置標(biāo)簽文字字體
setValueLabelBackgroundAuto(boolean isValueLabelBackgrountAuto):設(shè)置是否自動繪制標(biāo)簽背景
不使用自動繪制背景
不使用自動繪制背景,會使用valueLabelBackgroundColor所設(shè)置的顏色,默認(rèn)為灰色。
使用自動繪制背景
使用自動繪制背景,會使用Line的顏色作為標(biāo)簽背景色。
setAxisXBottom(Axis axisX):在圖表下方設(shè)置x軸
setAxisYLeft(Axis axisY):在圖表左側(cè)設(shè)置y軸
setAxisXTop(Axis axisX):在圖表上方設(shè)置x軸
setAxisYRight(Axis axisY):在圖表右側(cè)設(shè)置y軸
Axis
static generateAxisFromRange(float start, float stop, float step):生成從值start到stop按照step等差的Axis軸對象。
static generateAxisFromCollection(ListaxisValues):根據(jù)集合axisValues生成Axis軸對象。
static generateAxisFromCollection(ListaxisValues, List axisValuesLabels):根據(jù)集合axisValues生成軸對象,axisValuesLabels作為軸坐標(biāo)對應(yīng)的標(biāo)簽。
setValues(Listvalues):設(shè)置該軸的坐標(biāo)信息。
setName(String name):設(shè)置軸的名稱,默認(rèn)為空不顯示。
setTextSize(int textSize):設(shè)置設(shè)置軸標(biāo)簽和名稱的字號,默認(rèn)為12sp。
setTypeface(Typeface typeface):設(shè)置軸標(biāo)簽和名字的字體。
setTextColor(int color):設(shè)置軸標(biāo)簽和名字的顏色。
setAutoGenerated(boolean isAutoGenerated):設(shè)置是否自動生成軸對象,自動適應(yīng)表格的范圍。
setHasLines(boolean hasLines):設(shè)置是否顯示坐標(biāo)網(wǎng)格。
setLineColor(int lineColor):設(shè)置網(wǎng)格線的顏色。
setInside(boolean isInside):設(shè)置是否將軸坐標(biāo)的值顯示在圖表內(nèi)側(cè)。
setInside的效果
setMaxLabelChars(int maxLabelChars):設(shè)置軸標(biāo)簽可顯示的最大字符個數(shù),范圍在0-32之間。
setFormatter(AxisValueFormatter formatter):設(shè)置軸坐標(biāo)格式化工具
setHasSeparationLine(boolean hasSeparationLine):設(shè)置是否顯示軸標(biāo)簽與圖表之間的分割線
AxisValue //Axis軸坐標(biāo)類。
setValue(float value):設(shè)置該軸坐標(biāo)的值
setLabel(String label):設(shè)置該軸坐標(biāo)的標(biāo)簽
AbstractChartView //圖表視圖抽象類。
setInteractive(boolean isInteractive):設(shè)置該圖表是否可交互。如不可交互,則圖表不會響應(yīng)縮放、滑動、選擇或點(diǎn)擊等操作。默認(rèn)值為true,可交互。
setZoomEnabled(boolean isZoomEnabled):設(shè)置是否可縮放。
setScrollEnabled(boolean isScrollEnabled):設(shè)置是否可滑動。
moveTo(float x, float y):將視圖窗口(viewport)移動至指定位置。如果可以移動,viewport將以該點(diǎn)為視圖的中心。
moveToWithAnimation(float x, float y):以動畫的形式移動viewport。
setZoomType(ZoomType zoomType):設(shè)置縮放類型,可選的類型包括:ZoomType.HORIZONTAL_AND_VERTICAL, ZoomType.HORIZONTAL, ZoomType.VERTICAL,默認(rèn)值為HORIZONTAL_AND_VERTICAL。
setMaxZoom(float maxZoom):設(shè)置最大縮放比例。默認(rèn)值20。
setZoomLevel(float x, float y, float zoomLevel):以坐標(biāo)(x,y)為中心,自動縮放表格。注意,該方法應(yīng)在設(shè)置完chartview的數(shù)據(jù)(chartdata)后再調(diào)用。
setZoomLevelWithAnimation(float x, float y, float zoomLevel)
setValueTouchEnabled(boolean isValueTouchEnabled):設(shè)置是否允許點(diǎn)擊圖標(biāo)上的值,默認(rèn)為true。
setMaximumViewport(Viewport maxViewport):設(shè)置最大化的viewport。注意,該方法應(yīng)在設(shè)置完chartview的數(shù)據(jù)(chartdata)后再調(diào)用。
setCurrentViewport(Viewport targetViewport):設(shè)置當(dāng)前的viewport
setCurrentViewportWithAnimation(Viewport targetViewport)
resetViewports():重新計(jì)算最大化和當(dāng)前viewport
setValueSelectionEnabled(boolean isValueSelectionEnabled):設(shè)置是否可以選中圖表中的值,即當(dāng)點(diǎn)擊圖表中的數(shù)據(jù)值后,會一直處于選中狀態(tài),直到用戶點(diǎn)擊其他空間。默認(rèn)為false。
selectValue(SelectedValue selectedValue):選中一個數(shù)據(jù)值
setContainerScrollEnabled(boolean isContainerScrollEnabled, ContainerScrollType containerScrollType):設(shè)置是否允許圖表在父容器中滑動。
startDataAnimation():開始以動畫的形式更新圖表數(shù)據(jù)。
startDataAnimation(long duration)
cancelDataAnimation()
setDataAnimationListener(ChartAnimationListener animationListener):設(shè)置數(shù)據(jù)動畫的監(jiān)聽器
setViewportCalculationEnabled(boolean isEnabled):設(shè)置是否允許在動畫進(jìn)行中或設(shè)置完表格數(shù)據(jù)后,自動計(jì)算viewport的大小。如果禁止,則需要可以手動設(shè)置。
setViewportAnimationListener(ChartAnimationListener animationListener):設(shè)置viewport動畫的監(jiān)聽器
setViewportChangeListener(ViewportChangeListener viewportChangeListener):設(shè)置viewport發(fā)生變化的監(jiān)聽器
Viewport
通過left, top, right, bottom四邊確定的一個矩形區(qū)域。用來控制視圖窗口的縮放。
set(float left, float top, float right, float bottom):設(shè)置大小。
left和right可以控制我們在x軸上想要顯示哪部分?jǐn)?shù)據(jù),同理,top和bottom可以控制我們在y軸上要展示的數(shù)據(jù)。
offset(float dx, float dy):使viewport發(fā)生偏移,dx為正數(shù)表示向右,dy為正數(shù)表示向下
offsetTo(float newLeft, float newTop):使viewport偏移到指定位置,寬高不會改變
inset(float dx, float dy):使viewport縮放,dx為正數(shù)會使viewport的寬邊窄,dy為正數(shù)會使viewport的高度變長。即如果是正數(shù),會放大所要顯示的區(qū)域。
contains(float x, float y):判斷點(diǎn)(x,y)是否在viewport內(nèi)
contains(float left, float top, float right, float bottom):判斷矩形是否在viewport內(nèi)
contains(Viewport v)
SelectedValue //用來保存選中的值的索引的包裝類。
setFirstIndex(int firstIndex):設(shè)置第一個索引,如LineChart中表示第幾條線的值(lineIndex)。三、常用圖表介紹
setSecondIndex(int secondIndex):設(shè)置第二個索引,如LineChart中表示該條線上的第幾個值(valueIndex)。
setType(SelectedValueType type):設(shè)置類型。
set(int firstIndex, int secondIndex, SelectedValueType type)
1、折線圖Line
PointValue ------- //對“點(diǎn)”的封裝類。
set(float x, float y):設(shè)置點(diǎn)的值
setLabel(String label):點(diǎn)的標(biāo)簽信息
Line-------//對“線”的封裝類
setColor(int color):線的顏色
setPointColor(int pointColor):點(diǎn)的顏色
setAreaTransparency(int areaTransparency):透明度?
setStrokeWidth(int strokeWidth):線的粗細(xì)
setPointRadius(int pointRadius):點(diǎn)的半徑
setHasPoints(boolean hasPoints):是否顯示點(diǎn)
setHasLines(boolean hasLines):是否顯示線
setHasLabels(boolean hasLabels):是否顯示標(biāo)簽
setHasLabelsOnlyForSelected(boolean hasLabelsOnlyForSelected):是否只有在點(diǎn)擊“點(diǎn)”時才顯示標(biāo)簽
setCubic(boolean isCubic):是否是平滑曲線
setSquare(boolean isSquare):是否以直角的形式顯示線
直角顯示
setFilled(boolean isFilled):是否對線的下方填充
填充
setShape(ValueShape shape):“點(diǎn)”的樣式,默認(rèn)提供ValueShape.CIRCLE(圓形)、ValueShape.SQUARE (方形)、ValueShape.DIAMOND(菱形)三種樣式。
setPathEffect(PathEffect pathEffect):線的路徑效果
路徑效果
setValues(Listvalues):List集合,用來保存線上的每個點(diǎn)的信息。
LineChartData-----//折線圖數(shù)據(jù)模型類。
setLines(Listlines):設(shè)置所要展示的“線”
setBaseValue(float baseValue):設(shè)置數(shù)據(jù)的初始值,即所有的數(shù)據(jù)從baseValue開始計(jì)算,默認(rèn)值為0。
LineChartView
setOnValueTouchListener(LineChartOnValueSelectListener touchListener):設(shè)置數(shù)據(jù)值點(diǎn)擊監(jiān)聽。
LineChartOnValueSelectListener需要實(shí)現(xiàn)onValueSelected(int lineIndex, int pointIndex, PointValue value)和onValueDeselected()兩個監(jiān)聽回調(diào)方法。
lineIndex表示點(diǎn)擊的“線”的索引,pointIndex表示點(diǎn)擊的“點(diǎn)”的索引,value表示該“點(diǎn)”的值。
PreviewLineChartView--------------//折線圖的預(yù)覽視圖。
setPreviewColor(int color)
2、柱狀圖Column
SubcolumnValue--------------//用來保存子柱狀圖信息。
setValue(float value)
Column
用來表示一組柱狀圖。一組柱狀圖可以分成多個子柱狀圖。
setValues(Listvalues):設(shè)置柱狀圖的數(shù)據(jù)內(nèi)容。
ColumnChartData----------------//柱狀圖數(shù)據(jù)模型類。
setColumns(Listcolumns):設(shè)置數(shù)據(jù)
setStacked(boolean isStacked):設(shè)置是否將同一組的數(shù)據(jù)進(jìn)行堆疊顯示
堆疊
setFillRatio(float fillRatio):設(shè)置組與組之間的間隔比率。取值范圍從0-1,1表示組與組之間不留任何間隔,0表示組之間會留有2px的間隔。
setBaseValue(float baseValue)
ColumnChartView
setColumnChartData(ColumnChartData data):設(shè)置柱狀圖的數(shù)據(jù)
setOnValueTouchListener(ColumnChartOnValueSelectListener touchListener):設(shè)置柱狀圖點(diǎn)擊監(jiān)聽。
3、餅狀圖Pie
注意,餅狀圖與其他圖表不同的是,餅狀圖并沒有軸,也不支持縮放。為了更好的顯示效果,餅狀圖的布局寬高應(yīng)相等。
SliceValue----------//餅狀圖中“扇形”的數(shù)據(jù)模型。
setValue(float value):設(shè)置值
setColor(int color):設(shè)置顏色
setSliceSpacing(int sliceSpacing)
setLabel(String label):設(shè)置標(biāo)簽
PieChartData----餅狀圖的數(shù)據(jù)模型
setValues(Listvalues)
setHasLabelsOutside(boolean hasLabelsOutside):設(shè)置是否將標(biāo)簽顯示在餅狀圖外側(cè)。False顯示在內(nèi)測,true顯示在外側(cè)。
setHasCenterCircle(boolean hasCenterCircle):設(shè)置餅狀圖中心是否為空心圓
setCenterCircleColor(int centerCircleColor):設(shè)置空心圓的顏色
setCenterCircleScale(float centerCircleScale):設(shè)置空心圓的大小
setCenterText1(String centerText1):設(shè)置餅狀圖中心的文字1
setCenterText2(String centerText2)
setCenterText1FontSize(int centerText1FontSize):設(shè)置餅狀圖中心文字1的大小
setCenterText1Typeface(Typeface text1Typeface)
setSlicesSpacing(int sliceSpacing):設(shè)置扇形之間的間距大小
PieChartView
setPieChartData(PieChartData data)
setOnValueTouchListener(PieChartOnValueSelectListener touchListener)
setChartRotation(int rotation, boolean isAnimated):設(shè)置餅狀圖旋轉(zhuǎn)的角度
setChartRotationEnabled(boolean isRotationEnabled):設(shè)置餅狀圖是否可以通過滑動來旋轉(zhuǎn)
setCircleFillRatio(float fillRatio):設(shè)置餅狀圖占用控件的比例,取值范圍0-1。默認(rèn)值為1,表示餅狀圖盡可能地占滿整個控件。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/69295.html
摘要:最佳解析最佳解析最佳解析是一個依賴注入框架,由谷歌開發(fā),最早的版本由公司開發(fā)。在對的介紹中指出,即,這里的即數(shù)據(jù)結(jié)構(gòu)中的有向無環(huán)圖。也就是說,是一個基于有向無環(huán)圖結(jié)構(gòu)的依賴注入庫,因此的使用過程中不能出現(xiàn)循環(huán)依賴。 在開發(fā)過程中使用過很多優(yōu)秀框架,比如網(wǎng)絡(luò)的okhttp,圖片的Fresco,注入的Gagger2等,都是非常優(yōu)秀的框架。 所以今天在此介紹下至今本人知道的一些比較流行主流且...
閱讀 787·2021-11-11 16:54
閱讀 1517·2021-08-24 10:01
閱讀 1911·2019-08-30 15:54
閱讀 3296·2019-08-29 14:02
閱讀 3130·2019-08-28 18:22
閱讀 2245·2019-08-28 18:09
閱讀 3698·2019-08-26 10:26
閱讀 2664·2019-08-23 18:23