2016-12-30 5 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); 
関連する問題