Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Android

Android ऐप में ImageView को गोल कोनों वाला कैसे बनाएं?

Android में BitmapShader से ImageView के कोने गोल करने का गाइड

यह ट्यूटोरियल दिखाता है कि कैसे Canvas, Paint और BitmapShader का उपयोग करके किसी भी बिटमैप इमेज के कोने गोल (rounded corners) किए जाएं।

चरण 1: नया प्रोजेक्ट बनाएं

Android Studio में File → New Project चुनकर नया प्रोजेक्ट बनाएं।

चरण 2: लेआउट फ़ाइल में कोड जोड़ें

res/layout/activity_main.xml में:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:app="https://schemas.android.com/apk/res-auto"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">
    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="" />
    <ImageView
        android:id="@+id/imageView"
        android:layout_width="fill_parent"
        android:layout_margin="10dp"
        android:layout_height="fill_parent" />
</LinearLayout>

चरण 3: MainActivity.java में कोड जोड़ें

src/MainActivity.java में:

package com.example.sample;
import android.graphics.Bitmap;
import android.graphics.BitmapShader;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.RectF;
import android.graphics.Shader;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.ImageView;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        TextView textView = findViewById(R.id.textView);
        textView.setTextColor(Color.RED);
        textView.setTextSize(20);
        ImageView mimageView = findViewById(R.id.imageView);
        Bitmap mbitmap = ((BitmapDrawable) getResources().getDrawable(R.drawable.cat)).getBitmap();
        Bitmap imageRounded = Bitmap.createBitmap(mbitmap.getWidth(), mbitmap.getHeight(), mbitmap.getConfig());
        Canvas canvas = new Canvas(imageRounded);
        Paint mpaint = new Paint();
        mpaint.setAntiAlias(true);
        mpaint.setShader(new BitmapShader(mbitmap, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP));
        canvas.drawRoundRect(new RectF(0, 0, mbitmap.getWidth(), mbitmap.getHeight()), 100, 100, mpaint);
        mimageView.setImageBitmap(imageRounded);
    }
}

मुख्य बिंदु

  • BitmapShader मूल बिटमैप को शेडर के रूप में उपयोग करता है
  • Shader.TileMode.CLAMP किनारों पर क्लैंप करता है
  • drawRoundRect() गोल कोनों वाला आयत ड्रॉ करता है
  • कोने की त्रिज्या (100, 100) पिक्सेल में है - इमेज आकार के अनुसार समायोजित करें
  • paint.setAntiAlias(true) किनारों को स्मूथ बनाता है

आधुनिक विकल्प (API 21+)

नए Android संस्करणों के लिए RoundRectDrawable या MaterialShapeDrawable का उपयोग करें, या XML में shape ड्रॉएबल बनाएं।

चरण 4: AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
    package="com.example.sample">
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

ऐप चलाएं

डिवाइस कनेक्ट करें, Run आइकन पर क्लिक करें और गोल कोनों वाली इमेज देखें।

  1. Android ऐप में SurfaceView को पारदर्शी कैसे बनाएं? Android ऐप में SurfaceView को पारदर्शी कैसे बनाएं?

    Android में SurfaceView को ट्रांसपेरेंट बनाना यह ट्यूटोरियल दिखाता है कि कैसे SurfaceView को पारदर्शी बनाया जाता है ताकि उसके पीछे के UI एलिमेंट्स दिखाई दें - कैमरा प्रीव्यू, गेम ओवरले, या AR ऐप्स के लिए उपयोगी। चरण 1: प्रोजेक्ट बनाएं Android Studio में नया प्रोजेक्ट बनाएं। चरण 2: लेआउट में Surfac

  1. एंड्रॉइड में बटन के कोने गोल कैसे करें एंड्रॉइड में बटन के कोने गोल कैसे करें

    ड्रॉएबल शेप का उपयोग करके बटन के कोने गोल बनाना एंड्रॉइड में बटन के कोने गोल करने के लिए XML ड्रॉएबल शेप का उपयोग करना सबसे सरल और प्रभावी तरीका है। यह विधि बटन के विभिन्न स्टेट्स (दबाया गया, फोकस्ड, सामान्य) के लिए अलग-अलग स्टाइल भी परिभाषित करने देती है। चरण 1: नया प्रोजेक्ट बनाएं Android Studio

  1. एंड्रॉइड ऐप में टेक्स्ट फ़ाइल कैसे पढ़ें (raw रिसोर्स से) एंड्रॉइड ऐप में टेक्स्ट फ़ाइल कैसे पढ़ें (raw रिसोर्स से)

    res/raw फोल्डर से टेक्स्ट फ़ाइल पढ़ने का पूरा उदाहरण एंड्रॉइड में res/raw/ फोल्डर में रखी टेक्स्ट फ़ाइलों को InputStream और BufferedReader के माध्यम से पढ़ा जा सकता है। यह रॉ रिसोर्सेज एपीके में अनकंप्रेस्ड रहते हैं और रनटाइम पर एक्सेसिबल होते हैं। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में प्रो