У меня возникла проблема при расширении класса View, XML работает правильно, как я пробовал с ImageView, но не с моим пользовательским классом ...
BubbleView.java
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Canvas;
import android.graphics.drawable.LayerDrawable;
import android.view.View;
public class BubbleView extends View {
LayerDrawable rootBubble;
public BubbleView(Context context) {
super(context);
Resources res = this.getResources();
rootBubble = (LayerDrawable) res.getDrawable(R.drawable.bubble);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
rootBubble.draw(canvas);
}
}
bubble.xml (в папке res / drawable-mdpi)
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape
android:shape="rectangle">
<solid android:color="#FFFF0000" />
<size android:width="100px" android:height="100px" />
<padding android:bottom="1dp"/>
</shape>
</item>
<item>
<shape
android:shape="oval">
<solid android:color="#FFFFFFFF" />
<size android:width="100px" android:height="100px" />
</shape>
</item>
</layer-list>
основная деятельность
public class VisualManagerActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout main = new LinearLayout(this);
main.addView(new BubbleView(this));
setContentView(main);
}
}
спасибо!