簡體   English   中英

有沒有辦法獲得 MP Android BarChart 的 px/dp 的條寬?

[英]Is there a way I can get the Bar Width in px/dp's of an MP Android BarChart?

我想在圖表下方創建一個“表格”(使用回收視圖構建)。 但我希望 RecycleView 具有相同數量的圖表元素(在本例中為 7)有沒有辦法獲取Bar Chart的列width ,以便我可以為我的回收視圖單元格分配相同的寬度?

在此處輸入圖片說明

最后(如果可能的話)我希望兩個滾動同步。

以像素為單位的條寬是條寬 x 位置 (wp) 與標簽起始位置 (xp) 之間的差值:

        Transformer transformer = bChart.getTransformer(YAxis.AxisDependency.LEFT);
        float bw = (float) transformer.getPixelForValues(bChart.getBarData().getBarWidth(), 0).x;
        float xp = (float) transformer.getPixelForValues(0, 0).x;
        float barWidthInPixels = bw - xp;

從javadoc可以看出, BarData#getBarWidth()以圖表值(不是以像素為單位)返回條形寬度。

您可以使用Transformer在圖表值(圖表上的x和y值)和像素值(針對Android手機的屏幕)之間進行Transformer 類似於以下內容:

float barWidth = barData.getBarWidth();
Transformer transformer = mChart.getViewPortHandler().getTransformer(AxisDependency.LEFT);
MPPointD barDimensPoint = transformer.getPixelForValues(barWidth, 0);
float barWidthInPixels = (float) barDimensPoint.x;

它本質上是與這個問題相反的操作,其中要求是將像素轉換為圖表上的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM