मैं करने के लिए कोशिश की है बिटमैप के आकार के कैनवास सेट एक साधारण अनुप्रयोग को कार्यान्वित करें जो मुख्य गतिविधि के भीतर एक ब्लैक रेक्ट खींचता है, जिसे बटन दबाकर खींचा जाता है। उदाहरण के लिए, MainActivity
में:
private Button button1;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button1=(Button)findViewById(R.id.button);
button1.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
switch(v.getId()){
case R.id.button:
LinearLayout ll=(LinearLayout)findViewById(R.id.linearLayout1);
System.out.println(ll.getWidth()+" "+ll.getHeight());
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ll.getWidth(),ll.getHeight());
YourView yourView = new YourView(getBaseContext());
yourView.setBackgroundColor(Color.WHITE);
ll.addView(yourView,params);
break;
}
}
});
}
और YourView
कक्षा में:
private Bitmap savedBitmap;
public YourView(Context context) {
super(context);
}
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
System.out.println(canvas.getWidth()+" "+canvas.getHeight());
Paint textPaint = new Paint();
textPaint.setARGB(255, 0, 0, 0);
textPaint.setTextAlign(Paint.Align.RIGHT);
textPaint.setTextSize(11);
textPaint.setTypeface(Typeface.DEFAULT);
canvas.drawColor(Color.WHITE);
System.out.println(canvas.getWidth());
System.out.println(canvas.getHeight());
canvas.drawRect(200, 20, 500, 100, textPaint);
}
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" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Push the button and draw a Rect" />
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button" />
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</LinearLayout>
क्या आपका मतलब है आप बनाना चाहते करना कैनवास छोटे? आम तौर पर कैनवास आकार एंड्रॉइड द्वारा प्रबंधित किया जाता है, और दृश्य के मापा आकार पर निर्भर करता है। – Greg
ठीक है, लेकिन फिर मैं दृश्य के आकार को कैसे बदलूं? मैं उलझन में हूं, मैं सिर्फ इस वर्ग के आकार को बदलना चाहता हूं। – Xarialon
आपको इसे बढ़ाने की आवश्यकता क्यों है? किसी भी कारण – UVM