এক্সএমএল অ্যান্ড্রয়েডে আকার দেওয়ার জন্য একটি পটভূমি চিত্র যুক্ত করুন


148

আপনি কীভাবে কোনও আকারে একটি পটভূমি চিত্র যুক্ত করবেন? কোডটি আমি নীচে চেষ্টা করেছি তবে কোনও সাফল্য নেই:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" android:padding="10dp">
//here is where i need to set the image
<solid android:color="@drawable/button_image"/>
    <corners
     android:bottomRightRadius="5dp"
     android:bottomLeftRadius="5dp"
     android:topLeftRadius="5dp"
     android:topRightRadius="5dp"/>
 </shape>

আপনার একটি কাস্টম আকৃতির শ্রেণি প্রসারিত এবং তৈরি করা দরকার। উদাহরণস্বরূপ বৃত্তাকার আইমেজভিউতে সন্ধান করুন। এটি একটি বৃত্তাকার চিত্রদর্শন তৈরি করে তাই আপনার ব্যাকগ্রাউন্ড হিসাবে আপনি যেই আইটেম সেট করেন না কেন এটি রাউন্ড হিসাবে উপস্থিত হবে
রাহুল গুপ্ত

উত্তর:


221

নিম্নলিখিত ব্যবহার করুন layerlist:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item>
        <shape android:shape="rectangle" android:padding="10dp">
            <corners
                 android:bottomRightRadius="5dp"
                 android:bottomLeftRadius="5dp"
                 android:topLeftRadius="5dp"
                 android:topRightRadius="5dp"/>
         </shape>
   </item>
   <item android:drawable="@drawable/image_name_here" />
</layer-list>

4
ধন্যবাদ, এটি কাজ করেছে তবে কিনারাগুলি আর বৃত্তাকার নয়?
DevC

আপনি কি বৃত্তাকার প্রান্তযুক্ত চিত্র চান ?? কারণ দেখে মনে হচ্ছে আপনার আকৃতির কোনও রঙ নেই
ভিপুল মিত্তাল

1
আমার আকৃতির একটি সাদা রঙ এবং বৃত্তাকার প্রান্ত ছিল। আমি ভেবেছিলাম যে আমি যদি রঙটি সরিয়ে ফেলি এবং পরিবর্তে একটি চিত্র ব্যবহার করি তবে বৃত্তাকার প্রান্তগুলি থাকবে। যদি এটি সম্ভব না হয় তবে তা ঠিক আছে
ডিভিসি

বৃত্তাকার কোণে তাই চিত্র, সম্ভব না?
বিভিএসএস

এটি সম্ভব তবে আপনাকে চিত্রের কোণগুলিতে প্রোগ্রামিকভাবে গোল করতে হবে। এই দেখতে stackoverflow.com/questions/2459916/...
বিপুল মিত্তাল

199

আমি বৃত্তাকার ব্যাকগ্রাউন্ড সহ একটি অঙ্কনযোগ্য চিত্রের জন্য নিম্নলিখিতটি ব্যবহার করেছি।

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="oval">
            <solid android:color="@color/colorAccent"/>
        </shape>
    </item>
    <item
        android:drawable="@drawable/ic_select"
        android:bottom="20dp"
        android:left="20dp"
        android:right="20dp"
        android:top="20dp"/>
</layer-list>

এটি দেখতে কেমন লাগে তা এখানে

এখানে চিত্র বর্ণনা লিখুন

আশা করি যে কাউকে সাহায্য করবে।


ইমেজের মাধ্যাকর্ষণ সেট করার মতো কিছু আছে কি?
সাগর দেবঙ্গা

উপরের কোডটিতে অঙ্কনের জন্য @ সাগরদেভঙ্গা বা আপনি যখন নিজের বিন্যাসে চিত্রটি অন্তর্ভুক্ত করবেন?
রে হান্টার

প্রথমত, আমি অভ্যন্তরীণ আইকনটিকে 24 ডিপি (এর প্রকৃত আকার) এ সেট করতে উচ্চতা এবং প্রস্থ ব্যবহার করার চেষ্টা করেছি। এটি এএস এর পূর্বরূপে পুরোপুরি পুনরায় আকার দিয়েছে তবে ট্যাবলেটে কোনও প্রভাব ফেলেনি। অতএব আমি আপনার পদ্ধতি ব্যবহার করেছি। আমি আকৃতির উচ্চতা এবং প্রস্থ 40dp এবং তারপরে উপরের, নীচে, বাম এবং আইকন আইটেমের প্রতিটি 8dp এ সেট করেছি। (40-24) / 2 = 8। যাইহোক, ফলাফলটি সঠিক আকার দেখায় তবে এটি অস্পষ্ট, যা আমার সন্দেহ হয় পিএনজির এক ধরণের পুনরায় আকারের কারণে। কোনও পরামর্শ?
লুক অ্যালিসন

TLDR; আপনি কীভাবে উপরে 40dp ব্যাসের বৃত্ত এবং 24 ডিপি আইকন দিয়ে চিত্রের গুণমানটি না হারিয়ে তৈরি করবেন?
লুক অ্যালিসন

@ লুক অ্যালিসন আপনি কীভাবে ইউআইতে আইকন যুক্ত করছেন এবং আপনি ডিম্বাকৃতিতে যে চিত্রটি রেখেছেন তা কতটা বড়?
রে হান্টার

21

এটি ভিতরে একটি আইকন সহ একটি বৃত্তের আকার:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/ok_icon"/>
    <item>
        <shape
                android:shape="oval">
            <solid android:color="@color/transparent"/>
            <stroke android:width="2dp" android:color="@color/button_grey"/>
        </shape>
    </item>
</layer-list>

যারা ক্যারেট চিত্র এবং সীমান্ত দেখাতে চান তাদের জন্য আরও নিখুঁত
মাসুম

7

এটি একটি কোণার চিত্র

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item
        android:drawable="@drawable/img_main_blue"
        android:bottom="5dp"
        android:left="5dp"
        android:right="5dp"
        android:top="5dp" />

    <item>
        <shape
            android:padding="10dp"
            android:shape="rectangle">
            <corners android:radius="10dp" />
            <stroke
                android:width="5dp"
                android:color="@color/white" />
        </shape>

    </item>
</layer-list>

4

আমি সীমানা সহ একটি অঙ্কনযোগ্য চিত্রের জন্য নিম্নলিখিতটি ব্যবহার করেছি।

অঙ্কনযোগ্য ফোল্ডারে এই কোডটি দিয়ে প্রথমে একটি .xML ফাইল তৈরি করুন:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
    <shape android:shape="oval">
        <solid android:color="@color/orange"/>
    </shape>
</item>
<item
    android:top="2dp"
    android:bottom="2dp"
    android:left="2dp"
    android:right="2dp">
    <shape android:shape="oval">
        <solid android:color="@color/white"/>
    </shape>
</item>
<item
    android:drawable="@drawable/messages" //here messages is my image name, please give here your image name.
    android:bottom="15dp"
    android:left="15dp"
    android:right="15dp"
    android:top="15dp"/>

দ্বিতীয়টি লেআউট ফোল্ডারে একটি ভিউ .xML ফাইল করুন এবং উপরের .xML ফাইলটিকে এভাবে কল করুন

<ImageView
   android:id="@+id/imageView2"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:src="@drawable/merchant_circle" />  // here merchant_circle will be your first .xml file name

1

আপনার চিত্রের (কাস্টম ভিউ) কাস্টম শেপ পাওয়ার আরও একটি সহজ উপায়। এটি কারও পক্ষে সহায়ক হতে পারে। এটি কেবল একটি একক লাইন কোড।

প্রথমে আপনাকে নির্ভরতা যুক্ত করতে হবে:

dependencies {
    compile 'com.mafstech.libs:mafs-image-shape:1.0.4'   
}

এবং তারপরে এই জাতীয় কোডের একটি লাইন লিখুন:

Shaper.shape(context, 
       R.drawable.your_original_image_which_will_be_displayed, 
       R.drawable.shaped_image_your_original_image_will_get_this_images_shape,
       imageView,
       height, 
       weight);   
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.