2013-08-22 25 views
0

我有一些形狀,並且我有一個視圖。我需要動態地(即以編程方式)根據用戶輸入選擇一個形狀以設置爲我的視圖的背景。所以我的問題是:我是以編程方式將形狀變成ShapeDrawable還是這樣?我已經看過How to change shape color dynamically?。這些帖子假定該形狀已經附加到視圖。但我所有的形狀都是自由球員。如何將形狀轉換爲Android中的ShapDrawable

+0

? – sriramramani

回答

0

我才發現,我可以做

myview.setBackgroundResource(R.drawable.my_shape) 
1

似乎是不ShapeDrawable工作,但看看我的GradientDrawable例如:

您可以創建漸變繪製動態..用於以下類

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); 
相關問題