我創建了一個自定義視圖,它創建一個位圖,然後在onDraw()
方法中顯示一個對象數據。Android自定義視圖和畫布大小
同樣在XML文件中,我已經使視圖水平滾動。
我的問題是在我從onDraw()
方法繪製畫布上的所有數據後,如何增加視圖的大小以顯示所有數據。
即我希望視圖滾動,直到數據完成,而不是更多。
我確實顯示了最後一個項目的y座標。
目前我在XML文件中將視圖的寬度設置爲800dp,但對於某些對象,它會切斷部分數據。
感謝
我創建了一個自定義視圖,它創建一個位圖,然後在onDraw()
方法中顯示一個對象數據。Android自定義視圖和畫布大小
同樣在XML文件中,我已經使視圖水平滾動。
我的問題是在我從onDraw()
方法繪製畫布上的所有數據後,如何增加視圖的大小以顯示所有數據。
即我希望視圖滾動,直到數據完成,而不是更多。
我確實顯示了最後一個項目的y座標。
目前我在XML文件中將視圖的寬度設置爲800dp,但對於某些對象,它會切斷部分數據。
感謝
可以重寫onMeasure()
方法調整View
大小:
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int parentViewWidth = MeasureSpec.getSize(widthMeasureSpec);
int parentViewHeight = MeasureSpec.getSize(heightMeasureSpec);
// ... take into account the parent's size as needed ...
super.onMeasure(
MeasureSpec.makeMeasureSpec(newWidth, MeasureSpec.EXACTLY),
MeasureSpec.makeMeasureSpec(newHeight, MeasureSpec.EXACTLY));
}
謝謝,我會盡力回家。 – user557240
嗨,我試過實現它,但到目前爲止我還沒有運氣。我的自定義佈局被放在線性佈局下,當我把上面的代碼,我得到一個空白的屏幕。 – user557240
另外這裏是我的XML佈局文件:http://pastebin.com/2Rh25805 – user557240
我也看了在構造函數中設置佈局參數,我應該在的onDraw做到這一點( ) 方法? – user557240