الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال (كيف اعمل call لداله ondraw )

بدأه asmaa4all في 8 مارس 2012 · 2 رد · 810 مشاهدة · في Android
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

لدى استفسار صغير ف الكود التالى وهوا كيف اعمل call

لداله ondraw

داخل ال activity ??

مع العلم انا المطلوب انى انادى على كل داله منهم على حده تبعا لاختبار شرط معين بمعنى مثلا اذا تحقق الشرط الاول استعدى ondraw1

واذا حدث شرط تانى استدعى ondraw2 وهكذا

package com.draw.line;


import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.View;



public class Line extends View {

Paint paint = new Paint();

	    public Line(Context context) {
	        super(context);
	        paint.setColor(Color.RED);
	    }


	    public void onDraw1(Canvas canvas) {
	            canvas.drawLine(230, 20, 230, 120, paint);
	    }



	    public void onDraw2(Canvas canvas) {
	            canvas.drawLine(230, 125, 230, 225, paint);
	    }


	    public void onDraw3(Canvas canvas) {

	            canvas.drawLine(230, 230, 230, 330, paint);
	    }


	    public void onDraw4(Canvas canvas) {
	            canvas.drawLine(230, 335, 230, 435, paint);
	    }


	    public void onDraw5(Canvas canvas) {

	            canvas.drawLine(230, 440, 230, 540, paint);
	    }



	    public void onDraw6(Canvas canvas) {
	            canvas.drawLine(230, 545, 230, 645, paint);
	    }




	    }

package com.draw.line;

import android.app.Activity;
import android.os.Bundle;
import android.graphics.Color;



public class DrawLineActivity extends Activity {

    Line l1=new Line(this);


    /** Called when the activity is first created. */    

            @Override
            public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);


                l1.setBackgroundColor(Color.WHITE);

                setContentView(l1);


            }


}
#2

تفضل أخي ساويتلك البرنامج وجربته وهو يعمل بنجاح :

ملف DrawLineActivity

package andro.line;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class DrawLineActivity extends Activity 
{
	Line lineView;
	TextView txtInput;
	Button btn;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        lineView=new Line(this);
        lineView.setBackgroundColor(Color.WHITE);
        initComponent();
    }
    private void initComponent()
    {
    	txtInput=(TextView)findViewById(R.id.txtInput);
    	btn=(Button)findViewById(R.id.btn);
    	btn.setOnClickListener(new View.OnClickListener() {

			public void onClick(View v) {
				// TODO Auto-generated method stub
				int condition=Integer.parseInt(txtInput.getText().toString());
				lineView.condition=condition;
				setContentView(lineView);
			}
		});
    }
}

ملف Line

package andro.line;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.View;

public class Line extends View 
{
	Paint paint = new Paint();
	int condition;

	public Line(Context context) {
		super(context);
		// TODO Auto-generated constructor stub
		paint.setColor(Color.RED);
	}
	@Override
	protected void onDraw(Canvas canvas) {
		// TODO Auto-generated method stub
		super.onDraw(canvas);
		switch(condition)
		{
		case 1:
			canvas.drawLine(0, 0, 20, 20, paint);
		break;
		case 2:
			canvas.drawLine(20, 0, 0, 20, paint);
        break;
		}
	}
	public void setCondition(int condition) 
	{
		this.condition = condition;
	}
	public int getCondition() 
	{
		return condition;
	}
}

ملف Main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <EditText
        android:id="@+id/txtInput"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <requestFocus />
    </EditText>

    <Button
        android:id="@+id/btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Accept" />

</LinearLayout>

بالتوفيق :)

2
#3

بارك الله فيك وشكرا جزيلا على المساعده :)

مواضيع مشابهة