自定义的OnDraw()方法不叫自定义、不叫、方法、OnDraw

由网友(人贱无极限越贱越亮点)分享简介:<LinearLayout android:id="@+id/svLL" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ScrollView android:id="@+id/sv" android:layout_width="wrap_content" android:layout_height="wrap_content" xmlns:android="http://schemas.android.com/apk/res/android"> <!-- <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/scrollbar_2_text" /> --> <com.mypackage.MyDrawableView android:layout_width="fill_parent" android:layout_height="wrap_content" /> </ScrollView> </LinearLayout>

public class MyDrawableView extends View {

    Context thisContext;

    public MyDrawableView(Context context, AttributeSet attr) {
        super(context);
        thisContext = context;
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);

        final Paint paint = new Paint();
        paint.setColor(Color.BLUE);
        paint.setTextSize(12);
        canvas.drawText("Blah blah", 0, 100, paint);
    }
}

public class MyActivity extends Activity {
    // Your member variable declaration here
    // Called when the activity is first created.
    @Override
    public void onCreate(Bundle savedInstanceState) {
        // Your code here super.onCreate(savedInstanceState);
        setContentView(R.layout.xmllayout);
        LinearLayout svll = (LinearLayout) findViewById(R.id.svLL);
        svll.setLayoutParams(new LinearLayout.LayoutParams(300, 300));
    }

} 

我把一个断点,而断点从不打在的OnDraw()方法,有什么不对?

I am putting a breakpoint, but breakpoint is never hit inside onDraw() method, what's wrong ?

推荐答案

添加 setWillNotDraw(假)在MyDrawableView构造。原来的答案是这里。

Add setWillNotDraw(false) in MyDrawableView constructor. Original answer is here.

阅读全文

相关推荐

最新文章