2013-07-23 2 views
2

저는 한 부분을 제외하고는 완벽하게 작동하는 Seekbar가 있습니다. Seekbar 값에 따라 textView의 높이를 조정하고 싶습니다. 내가 만드는 비슷한 코드를 가지고 활동을 처음로드하지만 SeekBar를 조정하면 업데이트되지 않습니다 때 잘 작동Seekbar 설정 .getLayoutParams(). 높이

SeekBar sb1 = (SeekBar)findViewById(R.id.telecom_years_bar); 
    sb1.setMax(14); 
    sb1.setProgress(9); 
    sb1.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener(){ 

     @Override 
     public void onProgressChanged(SeekBar sb1, int progress, boolean fromUser) { 
      progress = progress + 1; 
      TextView RedInitialBar = (TextView) findViewById(R.id.initial_bar1); 
      RedInitialBar.getLayoutParams().height = (progress); 

:

는 내가 텍스트 뷰의 높이를 조정하려면이 코드를 사용하고 있습니다 textView의 높이. Seekbar가 조정될 때 Seekbar에 완벽하게 다시 계산되는 모든 다른 계산이 있습니다. 내가 뭘 놓치고 있니?

답변

1

뷰의 높이나 치수를 화면에 배치 한 후에 변경하면 뷰를 다시 배치해야합니다. TextView에서 requestLayout()으로 전화 해보십시오.

+0

물론! 방금 추가 한 'RedInitialBar.requestLayout();' before 'RedInitialBar.getLayoutParams(). height = (progress);' 그것은 완벽하게 작동하는 것 같습니다. 대단히 감사합니다! – DeadSilentFilmStars

0

예, TextView 높이를 설정해도 아무런 효과가 없습니다. 그것 대신에

RedInitialBar.setText(size * density); 
+0

답변 주셔서 감사합니다. 그러나 텍스트/글꼴 크기 또는 textView 상자의 크기를 조정합니까? 왜냐하면 난 단지 textView 상자의 높이를 조정하고 싶기 때문이다. 위의 코드는 처음에는 완벽하게 작동합니다 ('onCreate'이후)는 seekbar와 함께 작동하지 않습니다. – DeadSilentFilmStars