현재 만들고있는 프로그램의 버튼 배경으로 다음 xml 코드를 사용하고 있습니다. 그러나 동적으로 내 코드 내에서 그라디언트를 변경하고 싶습니다. 처음에는 xml에 정의 된 모양의 속성을 동적으로 변경 하시겠습니까?
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/buttonshape"
android:shape="rectangle">
<gradient android:startColor="#F0F0F0" android:endColor="#A0A0A0"
android:angle="270" android:id="@+id/buttonGradient"/>
<corners android:topLeftRadius="7dp"
android:topRightRadius="7dp" />
</shape>
, 나는 XML을 가야했다, 난 그냥이 처리하는 내 자신의 클래스를 만들 것이다. 그러나, 나는 연장 할 좋은 수업이 없다는 것을 깨달았다. GradientDrawable에는 모서리를 돌리는 명백한 메서드가 없습니다. RoundRectShape에는 나에게 그라디언트를 줄 수있는 방법이 없습니다. 그러나, 나는 또한 shaprawable 내의 그라디언트/모서리에 대한 접근자를 모른다. 내 생각에이 모양이 어떻게 정의되고 있는지 정확히 이해할 수 없다는 사실입니다 (필자는 다른 곳에서 사용 된 예제를 사용하지 않았습니다). 내가 정의한 모든 xml 뷰는 < /> 태그 내에 포함 된 모든 속성을가집니다. 이것은 다릅니다. < 그래디언트> 및 <> 코너는 무엇입니까? 나는 API/개발자 도구 어디서나 그들을 찾을 수 없습니다. 그리고 어떻게 코드에서 동적으로 변경할 수 있습니까?
이 안드로이드 프로그래밍 (자바) –
@Seth :. 음, 비슷한 확실히 뭔가를 해요 이미 언급 한 바는 이것이 할 수있는 일과 최종 해결책이 아니라는 힌트 일뿐입니다. –
Xpath를 사용할 수 없으며 Android에서 xml 리소스 파일이 바이트 코드로 컴파일되므로 그것들을 수정하면 (비록 xml 파일이 패키지되어 있더라도) 불행하게도 아무런 효과가 없다. – ataulm