سؤال

أقوم بإنشاء عرض صورة مخصص من خلال تمديد ImageView الذي يستمد فقط بعض النص على الشاشة، ومع ذلك، لا أرى أي شيء رسمت في شاشة المحاكي، لكن رسائل السجل والطباعة يتم طباعتها في وحدة التحكم في السجل. أنا لا أفعل شيئا؟

هذا نشاطي

public class HelloAndroidActivity extends Activity
{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);

        //        setContentView(R.layout.main);
        CustomImageView myView = new CustomImageView(getApplicationContext());
        System.out.println("Setting the view");
        myView.invalidate();
        setContentView(myView);
        System.out.println("Calling invalidate");
    }
}

هذا هو بلدي customimageview

public class CustomImageView extends ImageView
{

    /**
     * @param context
     */
    public CustomImageView(Context context)
    {
        super(context);
        // TODO Auto-generated constructor stub
        setBackgroundColor(0xFFFFFF);
    }

    /**
     * @param context
     * @param attrs
     */
    public CustomImageView(Context context, AttributeSet attrs)
    {
        super(context, attrs);
        // TODO Auto-generated constructor stub
    }

    /**
     * @param context
     * @param attrs
     * @param defStyle
     */
    public CustomImageView(Context context, AttributeSet attrs, int defStyle)
    {
        super(context, attrs, defStyle);
        // TODO Auto-generated constructor stub
    }

    @Override
    protected void onDraw(Canvas canvas)
    {
        // TODO Auto-generated method stub
                super.onDraw(canvas);
        System.out.println("Painting content");
        Paint paint  = new Paint(Paint.LINEAR_TEXT_FLAG);
        paint.setColor(0x0);
        paint.setTextSize(12.0F);
        System.out.println("Drawing text");
        canvas.drawText("Hello World in custom view", 100, 100, paint);
    }

    @Override
    public boolean onTouchEvent(MotionEvent event)
    {
        // TODO Auto-generated method stub
        Log.d("Hello Android", "Got a touch event: " + event.getAction());
        return super.onTouchEvent(event);

    }
}

حتى يتم طباعة رسالة السجل في Ontouchevent ()، ولكن لا شيء مطلية.

هذا هو My Main.xml الذي يحتوي على التصميم

<?xml version="1.0" encoding="utf-8"?>

<AbsoluteLayout android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/AbsoluteLayout">
</AbsoluteLayout>
هل كانت مفيدة؟

المحلول

استخدام قيم الألوان اللون الابيض أو لون أسود بدلا من قيم HEXA.

نصائح أخرى

هل راجعت حجم القماش الخاص بك؟ تتوقع عرض الصورة أن تكون الصورة النقطية / الراسخة لإرجاع حجمها واستنادا إلى إشارات الأسطوانات، وتحديد حجم العرض. لا أرى أي شيء في التعليمات البرمجية التي تحدد حجم العرض لاحتياجات التخطيط.

-Rick.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top