2014-01-08 2 views
0

지난 몇 달 간 앱을 개발하여 게시 준비를 마쳤습니다. 모든 것이 완벽 해 보이고있었습니다. 나는 버튼으로 텍스트를 사용하여 몇 가지 작업을 수행했다. - 내 자신의 9 패치 버튼 배경을 사용하고, 기본 글꼴을 변경하고, setX() 및 setY() 등으로 텍스트 단추의 위치를 ​​변경했다. 큰 버튼과 작은 버튼이 있었다. 일부는 화면의 다른 물건들과 딱 맞았지만 모두 효과가있었습니다. 버튼은 다양한 태블릿과 휴대 전화에서 완벽하게 보입니다.Android 버전으로 TextButton 패딩 변경

그런 다음 안드로이드를 변경해야하는 내 작업 목록에서 마지막 항목 하나를 기억했습니다. 내 매니페스트에서 8까지의 minSdkVersion을 11로 변경했습니다. setX 및 setY 메소드는 Android 3.0 이상에서만 사용할 수 있기 때문에이 작업을 수행해야했습니다. . 그러나이 작업을 수행하자마자 내 단추 내의 텍스트가 엉망이되었습니다. 처음에는 검정 대신 흰색이었습니다. 쉽게 고칠 수있었습니다. 그러나 텍스트 둘레의 패딩도 완전히 달랐다. 버튼은 이제 서로 겹치고 다양한 방법으로 불균형 해 보였습니다.

제 질문은 이것입니다 : "이 소프트웨어는 Android 3.0 (API 11) 이상에서만 실행해야합니다."및 "모든 텍스트 버튼 특성을 API 수준 8 ".

답변

0

나는 그런 일이 일어날 이유가 전혀 없습니다. 그러나 도움이 될만한 구형 플랫폼을 지원하는 것이 좋습니다. 예를 들어 API 8+를 사용하지 못하도록하는 유일한 방법이 setX()setY() 메소드 인 경우 NineOldAndroids 프로젝트에서 ViewHelper을 사용하면 더 낮은 API를 지원할 수 있습니다. 예를 들어 :

ViewHelper.setX(myView, myXValue); 
ViewHelper.setY(myView, myYValue); 
+0

내가 혼란 스러워요 ... NineOldAndroids 모든 애니메이션에 대한 것으로 보인다 - ...하지만 myTextButton.setX() 메소드는 단지 영구적으로 TextButton의 위치를 ​​설정하는 것입니다 그게 어떻게 든 애니메이션입니까? – Mick

+0

@Mick, 나는 당신이'x'와'y' 애니메이션을 사용하고 있다는 것을 깨닫지 못했습니다. 이 경우 * 속성 애니메이션 *을 사용하는 한 * NineOldAndroids *를 API 8 이상을 지원하는 드롭 인 대체품으로 사용할 수 있습니다. 그래서 프로젝트의 빌드 경로에 라이브러리를 추가한다면,'ValueAnimator','ObjectAnimator','PropertyAnimator'의 import를 지우고 * NineOldAndroids *에서 같은 이름의 클래스를 import하면됩니다. – Phil

관련 문제