2012-07-26 6 views
5

Android에서 9patch png 파일을 사용하여 배경을 변경하고 글꼴 서체를 변경하는 버튼을 사용자 정의하고 있습니다. 나는이 항목을 사용자 정의 레이아웃으로 정확하게 위치시키고 치수를 지정해야하기 때문에 버튼을 RelativeLayout에 넣었습니다. 이 모든 것을 프로그래밍 방식으로 (작성에서 설정 및 표시까지) 수행하고 있습니다.버튼에서 텍스트가 잘리지 않도록하려면 어떻게해야합니까?

동일한 문제가있는 this question이 발견되었지만 해결책이 적합하지 않습니다. 나는 사용했다.

continueBtn.setPadding(0,0,0,0); 

그러나 그래픽 출력은 동일하게 유지된다. 텍스트의 절반 이상이 뷰에서 잘립니다.

Button continueBtn = new Button(getContext()); 
p = new RelativeLayout.LayoutParams(width, 45); 
p.addRule(CENTER_HORIZONTAL); 

continueBtn.setLayoutParams(p); 
continueBtn.setTypeface(...); 
continueBtn.setTextSize(14); 
outerLayout.addView(continueBtn); 
continueBtn.setPadding(0, 0, 0, 0); 

나는 setPadding 메서드 호출을 넣어 아무리 상황이 변경되지 않습니다 :

내가 사용하고있는 코드의 발췌는 다음과 같다. 내가 뭘 잘못하고 있니? 어떤 아이디어?

+0

버튼을 설정하기 전에 LayoutParams에 패딩을 추가하고 싶습니까? 패딩 솔루션이 왜 [당신]에게 효과가 없을까요? – matt5784

+0

그냥 0 값으로 .setPadding을 사용 했습니까? RelativeLayout없이 패딩을 시도 했습니까? – Ali

+0

@ matt5784 적절한 API를 볼 수 없어 'RelativeLayout.LayoutParams'에 패딩을 추가 할 수 없습니다. @Ali 나는'.setPadding'을 몇 가지 값으로 사용했지만 아무 것도 바뀌지 않았습니다. – marzapower

답변

0

단추의 상수 높이를 45로 설정하고 있습니다 (픽셀 일 것 같습니다). 그러나 분명히 당신이 넣으려고하는 텍스트가 공간의 양보다 큰 경우 안드로이드는 당신이 사용하게 할 것입니다. LayoutParams를 변경하여 버튼을 더 크게 만들면 자르지 않고 잘 맞을 것입니다. 또는 작은 텍스트 크기를 사용하여 텍스트가 더 짧고 잘 맞을 수 있습니다.

+0

이것은 내가 할 수없는 일입니다. 그런데 텍스트를 완전히 표시하기 위해 버튼이 차지하는 영역에는 충분한 공간이 있지만 분명히 올바르게 표시되지 않습니다. – marzapower

+0

스크린 샷을 게시하십시오. – matt5784

+0

P. 귀하의 레이아웃이 정확하게 조정되어 있고 픽셀 (dp 대신)을 사용하는 경우, 테스트중인 한 화면 해상도에서만 작동하므로 레이아웃이 어쨌든 완벽하지는 않습니다 (장치를 제외하고) . – matt5784

관련 문제