লিনিয়ারলআউটে কর্নার রেডিয়াস কীভাবে প্রয়োগ করবেন


117

আমি একটি বৃত্তাকার সীমানা সহ একটি বিন্যাস করতে চাই। আমি কীভাবে একটি নির্দিষ্ট আকারের ব্যাসার্ধ প্রয়োগ করতে পারি LinearLayout?


দয়া করে ইতিমধ্যে উত্তর দেওয়া প্রশ্নটি একবার দেখুন stackoverflow.com/questions/1683185/…
রাজেশ

উত্তর:


278

আপনি অঙ্কনযোগ্য ফোল্ডারে একটি এক্সএমএল ফাইল তৈরি করতে পারেন। এটিকে কল করুন, উদাহরণস্বরূপ,shape.xml

ইন shape.xml:

<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle"   >

    <solid
        android:color="#888888" >
    </solid>

    <stroke
        android:width="2dp"
        android:color="#C4CDE0" >
    </stroke>

    <padding
        android:left="5dp"
        android:top="5dp"
        android:right="5dp"
        android:bottom="5dp"    >
    </padding>

    <corners
        android:radius="11dp"   >
    </corners>

</shape>

<corner>ট্যাগ আপনার নির্দিষ্ট প্রশ্ন জন্য।

প্রয়োজন অনুসারে পরিবর্তন করুন।

এবং আপনার whatever_layout_name.xml:

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:layout_margin="5dp"
    android:background="@drawable/shape"    >
</LinearLayout>

আমি সাধারণত আমার অ্যাপ্লিকেশনগুলিতে এটি করি। আশাকরি এটা সাহায্য করবে....


এই এক্সএমএলে পটভূমি চিত্র কীভাবে সেট করবেন
ভিগনেশ

1
@ বিগনেশ: কোনটি অঙ্কনযোগ্য এবং এটি কোথায় স্থাপন করেছে? <shape>উদাহরণটি যদি আপনি বোঝাতে চান তবে এটি ইতিমধ্যে XML লেআউটে এখানে সেট করা আছে:android:background="@drawable/shape"
সিদ্ধার্থ লেলে

3
যদি এই রৈখিক বিন্যাসটির ইতিমধ্যে একটি ব্যাকগ্রাউন্ড চিত্র থাকে এবং আমি এটি কোণার ব্যাসার্ধ পেতে চাই? আপনার কোডে আমি একটি পটভূমি চিত্র সেট করতে সক্ষম হব না, যেহেতু লিনিয়ারালআউট পটভূমি সম্পত্তিটি আকারের সাথে সেট করা হয়েছে x এক্সএমএল
নিউটন_গুইমা

@ মিআরপ্লেলবিআর: আমি একটি পটভূমি চিত্র সেট করতে সক্ষম হবো না : সঠিক। তবে প্রশ্নের প্রসঙ্গে, ওপির একটি ব্যবহারের মামলা ছিল যেখানে এটি বৈধ ছিল। আপনি উল্লিখিত ব্যবহারের ক্ষেত্রে এটি আপনার পক্ষে যাওয়া উচিত নয়।
সিদ্ধার্থ লেলে

@ সিদ্ধার্থলেলে আমি কী জন্য যাব? আপনি একটি সামান্য উত্স বা সম্ভবত একটি লিঙ্ক দিয়ে ব্যাখ্যা করতে পারেন? ধন্যবাদ!
নিউটন_গুইমা


8

বিন্যাস

<LinearLayout 
    android:id="@+id/linearLayout"
    android:layout_width="300dp"
    android:gravity="center"
    android:layout_height="300dp"
    android:layout_centerInParent="true"
    android:background="@drawable/rounded_edge">
 </LinearLayout>

অঙ্কনযোগ্য ফোল্ডারটি rounded_edge.xml

<shape 
xmlns:android="http://schemas.android.com/apk/res/android">
    <solid 
        android:color="@android:color/darker_gray">
    </solid>
    <stroke 
         android:width="0dp" 
         android:color="#424242">
    </stroke>
    <corners 
         android:topLeftRadius="100dip"
         android:topRightRadius="100dip"
         android:bottomLeftRadius="100dip"
         android:bottomRightRadius="100dip">
    </corners>
</shape>

2

প্রোগ্রামারমেটিকর জন্য ব্যাকগ্রাউন্ডটি লিনিয়ারলআউট বা যে কোনও ভিউতে ব্যাসার্ধ সেট করার জন্য এটি ব্যবহার করে দেখুন।

 private Drawable getDrawableWithRadius() {

    GradientDrawable gradientDrawable   =   new GradientDrawable();
    gradientDrawable.setCornerRadii(new float[]{20, 20, 20, 20, 20, 20, 20, 20});
    gradientDrawable.setColor(Color.RED);
    return gradientDrawable;
}

LinearLayout layout = new LinearLayout(this);
layout.setBackground(getDrawableWithRadius());
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.