2013-07-09 3 views
0

좋아, 그래서 3/4 같은 텍스트 분수를 형성하는 3 TextViews (상단, 구분선, botom)하지만 4는 그들을 나누는 수평선과 3 아래에있다.컨테이너에있는 TextViews

문제는 수평선입니다 ... 이러한 요소의 모든 동적 생성은 onCreate 메서드에서 수행되므로 .getWidth() 및 .setWidth()를 사용하여 줄의 크기를 제한 할 수 없습니다. 가장 긴 텍스트 뷰 (위 또는 아래)만큼 길어야합니다.

이제 내 질문입니다 : 세 개의 TextViews가 깔끔하게 쌓인 컨테이너를 만들 수 있습니까? 세 개의보기를 포함 할 수있는 상자와 같이 기존 레이아웃에 쉽게 추가 할 수 있습니다. 선폭, 텍스트 뷰의 텍스트를 중앙 정렬 할 수있는 자체 레이아웃이기 때문에?

+1

그래, 일부 레이아웃에 추가하십시오. 선형 레이아웃으로 말하자. 그리고이 선형 레이아웃은 그것들의 컨테이너이며, 그것들을 모두 다른 레이아웃에 넣거나 보이지 않게 모든 것을 만들거나 위치를 바꿀 때 사용할 수 있습니다. –

답변

0

@Inn_vita에서 제안한 것처럼 세 가지 모두를 선형 레이아웃 (예 : 상대 레이아웃)에 추가 한 다음 레이아웃을 별도로 처리 할 수 ​​있습니다. 그러나 서로 중첩 된 레이아웃이 불필요하게 오버 헤드를 발생시키고 응용 프로그램을 느리게 만들 수 있다는 점에주의하십시오.

그래도 setContentView(R.layout.activity_main) 다음에 프로그래밍 방식으로 TextViews의 크기를 변경할 수 있습니다.

나는이 코드는 당신이 찾고있는 무엇에 도움이 될 수 있습니다 생각 :

setContentView(R.layout.activity_main); 

TextView numerator = (TextView) findViewById(R.id.firstBox); 
TextView fractionBar = (TextView) findViewById(R.id.secondBox); 
TextView denominator = (TextView) findViewById(R.id.thirdBox); 

fractionBar.setWidth(denominator.getWidth()); 

당신은 onCreate() 방법 내에서 setContentView() 후 모든이 작업을 수행 할 수 있습니다.

+0

GetWidth()를 찾을 수없는 것 같지만 TextView 설명서 ... – cshadowstar

+0

감사합니다, woking있어! –

+0

도움이 될 수있어서 기쁩니다! – cshadowstar