2013-08-22 1 views
0

나는 여러 가지 모양을 가지고 있으며 하나의 견해를가집니다. 사용자 입력을 기반으로하는 내보기의 배경으로 설정하기 위해 모양을 동적으로 (즉, 프로그래밍 방식으로) 선택해야합니다. 그래서 내 질문 : 누가 프로그래밍 방식으로 도형을 ShapeDrawable 또는 그와 같은 것으로 변환합니까?모양을 안드로이드에서 ShapDrawable로 변환하는 방법

나는 이미 How to change shape color dynamically?을 봅니다. 이러한 게시물은 도형이 이미 뷰에 첨부되어 있다고 가정합니다. 하지만 제 모든 모양은 자유 요원입니다.

당신이 그라데이션 당김을 만들 수 있습니다

+0

아래로이 클래스를 사용할 수 있습니까? – sriramramani

답변

0

난 그냥 내가 뭔가를 그 쉐이프와 함께 작동,하지만 내 GradientDrawable 예를 살펴하지 않는 것 같다

myview.setBackgroundResource(R.drawable.my_shape) 
1

을 할 수 있다는 것을 발견 동적으로 아래 클래스 사용

import android.graphics.drawable.GradientDrawable; 

public class SomeDrawable extends GradientDrawable { 

public SomeDrawable(int pStartColor, int pCenterColor, int pEndColor, int pStrokeWidth, int pStrokeColor, float cornerRadius) { 
    super(Orientation.BOTTOM_TOP,new int[]{pStartColor,pCenterColor,pEndColor}); 
    setStroke(pStrokeWidth,pStrokeColor); 
    setShape(GradientDrawable.RECTANGLE); 
    setCornerRadius(cornerRadius); 
} 

}

하고 형상 정보가있는 방법

SomeDrawable drawable = new SomeDrawable(Color.parseColor("Start Color Code"),Color.parseColor("Center Color Code"),Color.parseColor("End Color Code"),1,Color.BLACK,00); 
yourLayout.setBackgroundDrawable(drawable);