2013-08-27 3 views
1

내 안드로이드 애플 리케이션에서 가로 레이아웃을 만들고 왼쪽에 textview를 추가하고 오른쪽에 진행률 표시 줄을 추가하고 싶습니다. 텍스트 뷰에서 폭에 맞게 내용을 래핑합니다. 그리고 진행 막대는 (너비의 경우) 나머지 공간을 화면에서 가로로 가져와야합니다.안드로이드의 선형 레이아웃을 채우는 방법?

 LinearLayout.LayoutParams percentWidth = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); 

     LinearLayout percentLayout = new LinearLayout(this); 
     percentLayout.setOrientation(LinearLayout.HORIZONTAL); 
     percentLayout.setLayoutParams(percentWidth); 

     textview = new TextView(this); 
     textview.setText(String.format("Tasks Completed: %d%%", personobj.percentage)); 
     percentLayout.addView(textview); 

     ProgressBar checklistprogress = new ProgressBar(this, null, android.R.attr.progressBarStyleHorizontal); 
     checklistprogress.setProgress(personobj.percentage); 
     percentLayout.addView(checklistprogress); 

     LocationLayout.addView(percentLayout); 

, 진행률 표시 줄의 폭이 충분히 확대되지 그러나이 작동하지 않습니다 :

내 코드입니다. 단지 약 1 센티미터 너비입니다.

누구든지이 작업을 수행하는 방법을 알고 있습니까?

감사합니다.

+0

xml 코드 부분 –

+0

xml을 사용하지 않고 Im이 모든 것을 Java 코드로 처리하려고합니다. – omega

답변

0

시도는 그것이

checklistprogress.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, 1f)); 
0

이런 종류의 일에 RelativeLayout을 사용하는 것이 좋습니다. 그러나 선형 레이아웃을 사용하려면 layout_weight 속성을 사용해야합니다. layout_weight를 사용하면 여러보기 사이의 크기 비율을 지정할 수 있습니다.

LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(
          LayoutParams.MATCH_PARENT, 
          LayoutParams.MATCH_PARENT, 1.0f); 

가에 layout_weight의 더 나은 이해를 위해이 문서에서보세요 http://www.chess-ix.com/blog/the-use-of-layout_weight-with-android-layouts/

0

@omega을 사용 : 마지막 매개 변수 아래의 코드에서 레이아웃 무게 :이 코드를 사용해보십시오. 진행률 막대의 스타일을 크게 변경하는 데 사용됩니다.

관련 문제