【发布时间】:2011-08-01 01:46:53
【问题描述】:
我在扩展 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);
}
}
谢谢!
【问题讨论】:
标签: android view drawable layer