2016-12-30 31 views

回答

1

我認爲ProgressBar有一個相稱的高度和寬度屬性,這意味着你不能有一個比寬度更大的高度值,否則它會看起來偏斜。 (我可能是錯的,但是玩起了View這就是它的樣子。)

如果您使用layout_weight值作爲寬度,那麼它將對高度沒有影響,您可以設置您的高度爲match_parent,您獲得的尺寸將是基於寬度的最大尺寸。

要將您的ProgressBar設置爲50%,請使用progressBar.setProgress(progressBar.getMax()/2),或者如果您事先知道最大值,則可以對該50%進行硬編碼。

+0

我不認爲這是成正比的,進步的軌道似乎有一個固定的DP值。但是,您可以:setScaleY(int)。只改變進度軌跡。但是,我應該放入什麼價值?父母是一個LinearLayout,我可以從中獲得什麼值,可以讓跟蹤進度達到比例高度。 – Jams

+0

你能澄清你的問題嗎? 'setScale'繼承自'View'類,所以你可以做到這一點,但是你可能會得到不想要的結果,因爲'ProgressBar'具有它自己的邏輯。我不確定你的進度曲目是什麼意思。縮放不應該與你的進度有任何關係。 – Pztar

0

這似乎進展軌道的比例設置爲父的正好一半:

LinearLayout progView = (LinearLayout) findViewById(R.id.progView); 
ProgressBar xpBar = (ProgressBar) findViewById(R.id.xpBar); 

xpBar.setScaleY(progView.getScrollBarSize()/2); 
相關問題