2014-01-30 1 views
5

(내 언어는 죄송합니다.)획 색상을 동적으로 변경하는 방법은 무엇입니까?

모양을 stroke color (으)로 변경해야합니다. here과 동일한 문제가 발생했습니다. EditText가 올바르지 않으면 단색을 변경해야합니다.

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle" android:padding="10dp"> 
    <solid android:color="#FFFFFF"/> 
    <corners 
     android:bottomRightRadius="5dp" 
     android:bottomLeftRadius="5dp" 
     android:topLeftRadius="5dp" 
     android:topRightRadius="5dp"/> 
    <stroke android:width="2px" android:color="#CCCCCC"/> 
</shape> 

답 :이 질문에

GradientDrawable myGrad = (GradientDrawable)rectangle.getBackground(); 
myGrad.setColor(Color.BLACK); 

문제는 내가 사각형 항목을 이해하지 못하고있다. EditText로 바꾸면 단색 배경이 아닌 배경에 적용됩니다.

미리 감사드립니다.

편집 : 내 잘못, 변경하고 싶습니다 스트로크 색깔이 아니라 고체.

+0

테두리가 보이지 않습니다. ?? –

+0

예, 눈에 띄고, 그는 검은 색입니다. 색상을 빨간색으로 변경해야합니다. – user3252731

+0

나는 당신이 단단한 뇌졸중으로 생각합니다. 내 ans을 시도하고 다른 것을 찾고 있다면 알려주십시오. –

답변

12
GradientDrawable myGrad = (GradientDrawable)rectangle.getBackground(); 
myGrad.setStroke(2, Color.RED); 
+4

색상 만 변경하고 원본 획의 너비를 유지할 수 있습니까? –

+1

스트로크 너비와 색상을 설정할 때 밀도에주의해야합니다. 나는 myGrad.setStroke (2, Color.RED)가 "2dp"와 같지 않다고 생각한다. – lostintranslation