অ্যান্ড্রয়েডে টেক্সটভিউয়ের জন্য বৃত্তাকার কোণার


171

আমার কাছে একটি পাঠ্যদর্শন আছে এবং এর কোণটি গোল আকারের হোক। আমি ইতিমধ্যে জানি এটি ব্যবহার করে করা যেতে পারে android:background="@drawable/somefile"। আমার ক্ষেত্রে, এই ট্যাগটি ইতিমধ্যে অন্তর্ভুক্ত রয়েছে তাই আর ব্যবহার করতে পারবেন না। উদাহরণস্বরূপ android:background="@drawable/mydialogbox"পটভূমিতে চিত্র তৈরি করতে ইতিমধ্যে আছে

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_gravity="top"
    android:background="@drawable/mydialogbox"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/textview_name"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />

    </LinearLayout>

</RelativeLayout>

সুতরাং যখন আমি textview(textview_name)বৃত্তাকার কোণার সাথেও চাই , কীভাবে এটি অর্জন করা যায়।


4
উত্তর গ্রহণের চেয়ে যদি আপনার উত্তর পেয়ে থাকে তবে
অন্যরা

উত্তর:


438

1) তৈরি করুন rounded_corner.xmlমধ্যে drawableফোল্ডার এবং নিম্নলিখিত বিষয়বস্তু যোগ করুন,

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >         
   <stroke
          android:width="1dp"
          android:color="@color/common_border_color" />

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

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

   <corners android:radius="5dp" />
</shape>

2) TextViewব্যাকগ্রাউন্ড প্রোপার্টিতে এটি অঙ্কনযোগ্য সেট করুন example উদাহরণস্বরূপ:

android:background="@drawable/rounded_corner"

আমি আশা করি এটি আপনার জন্য কার্যকর।


16
উত্তরটি ঠিক সঠিক যে পোস্ট করা লোকটি এ সম্পর্কে বিস্তারিত ব্যাখ্যা দেয়নি। আপনার একটি এক্সএমএল তৈরি করা প্রয়োজন [যেমন। উপরের কোড সহ আপনার অঙ্কনযোগ্য ফোল্ডারে গোলাকার_ভিউ.এক্সএমএল]। এবং আপনার পাঠ্যদর্শনটিকে ঘিরে আপনার লেআউটে এটিকে একটি প্যারামিটার অ্যান্ড্রয়েড হিসাবে দেওয়া হয়েছে: ব্যাকগ্রাউন্ড = "@ ড্রয়যোগ্য / গোলক_দর্শন"
শারজিল আহমেদ

4
অ্যান্ড্রয়েড: ব্যাকগ্রাউন্ড = "@ অঙ্কনযোগ্য / বৃত্তাকার_কর্ণার" এখানে এক্সটেনশন ব্যবহার করবেন না!
বরিস গফুরভ

4
android:shape="rectangle"এটি আপনার পক্ষে কাজ না করে যদি যোগ করুন
ক্রিস্টিয়ানা

এবং আপনার প্রকল্পটি যদি স্বয়ংক্রিয়ভাবে কাজ না করে তবে এটি পুনর্নির্মাণ করুন
adek111

18

পাশে radius, সেখানে বৃত্তাকার কোণার কিছু সম্পত্তি মত topRightRadius, topLeftRadius, bottomRightRadius,bottomLeftRadius

সীমানা ধূসর `ব্যাকগ্রাউন্ড TextViewসহ উদাহরণredwith corner and

bg_rounded.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <stroke
        android:width="10dp"
        android:color="#f00" />

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

    <corners
        android:radius="5dp"
        android:topRightRadius="100dp" />
</shape>

TextView

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/bg_rounded"
    android:text="Text"
    android:padding="20dp"
    android:layout_margin="10dp"
    />

ফলাফল

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


16

যেহেতু আপনার শীর্ষ স্তরের ভিউটিতে ইতিমধ্যে অ্যান্ড্রয়েড রয়েছে: ব্যাকগ্রাউন্ড প্রপার্টি সেট করা হয়েছে, আপনি একটি নতুন এক্সএমএল অঙ্কনযোগ্য তৈরি করতে একটি <layer-list>( লিঙ্ক ) ব্যবহার করতে পারেন যা আপনার পুরানো ব্যাকগ্রাউন্ড এবং আপনার নতুন গোলাকার কোণার পটভূমি উভয়কেই একত্রিত করে।

<item>তালিকার প্রতিটি উপাদান পরবর্তী অঙ্কিত হয়, সুতরাং তালিকার শেষ আইটেমটি শীর্ষে শেষ হয়।

<?xml version="1.0" encoding="utf-8"?>
<layer-list
    xmlns:android="http://schemas.android.com/apk/res/android" >
    <item>
        <bitmap android:src="@drawable/mydialogbox" />
    </item>
    <item>
        <shape>
            <stroke
                android:width="1dp"
                android:color="@color/common_border_color" />

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

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

            <corners android:radius="5dp" />
        </shape>
    </item>
</layer-list>

6

অঙ্কনযোগ্য ফোল্ডারের অধীনে একটি এক্সএমএল গ্রেডিয়েন্ট.এক্সএমএল ফাইল তৈরি করুন

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle"  >
            <corners android:radius="50dip" />
            <stroke android:width="1dip" android:color="#667162" />
            <gradient android:angle="-90" android:startColor="#ffffff" android:endColor="#ffffff" />
        </shape>
    </item>
</selector>

তারপরে এটি আপনার টেক্সটভিউতে যুক্ত করুন

android:background="@drawable/gradient"

6
  1. অঙ্কনযোগ্য ফোল্ডারে রাইট ক্লিক করুন এবং নতুন ফাইল তৈরি করুন
  2. আপনার অনুযায়ী ফাইলটির নাম দিন এবং এক্সটেনশনটি .xML হিসাবে যুক্ত করুন ।
  3. ফাইলটিতে নিম্নলিখিত কোড যুক্ত করুন
  <?xml version="1.0" encoding="utf-8"?>
  <shape xmlns:android="http://schemas.android.com/apk/res/android"
      android:shape="rectangle">
      <corners android:radius="5dp" />
      <stroke android:width="1dp"  />
      <solid android:color="#1e90ff" />
  </shape>
  1. আপনি বৃত্তাকার প্রান্তটি যেখানে চান সেখানে লাইন যুক্ত করুন android:background="@drawable/corner"

4

আপনি প্রদত্ত আয়তক্ষেত্রাকার আকারটি (গ্রেডিয়েন্ট ব্যতীত, আপনি যদি না চান তবে) ব্যবহার করতে পারেন:

ইন drawable/rounded_rectangle.xml:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <corners android:radius="5dp" />
    <stroke android:width="1dp" android:color="#ff0000" />
    <solid android:color="#00ff00" />
</shape>

তারপরে আপনার পাঠ্য দৃশ্যে:

android:background="@drawable/rounded_rectangle"

অবশ্যই, আপনি মাত্রা এবং রং কাস্টমাইজ করতে চান।


4

দুটি পদক্ষেপ আছে

1) আপনার আঁকতে সক্ষম ফোল্ডারে এই ফাইলটি তৈরি করুন: - rounded_corner.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
         <corners android:radius="10dp" />  // set radius of corner
         <stroke android:width="2dp" android:color="#ff3478" /> // set color and width of border
         <solid android:color="#FFFFFF" /> // inner bgcolor
</shape>

2) এই ফাইলটি আপনার TextViewপটভূমির সম্পত্তি হিসাবে সেট করুন ।

android:background="@drawable/rounded_corner"

আপনি বাটন বা এডিটেক্সট এও এই অঙ্কনযোগ্য ব্যবহার করতে পারেন


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

    <item android:id="@android:id/background">
        <shape>
            <corners android:radius="5dp" />
            <solid android:color="#ffffff"/>

        </shape>
    </item>
</layer-list>

2

উপাদান উপাদান লাইব্রেরির সাহায্যে আপনি এটি ব্যবহার করতে পারেন MaterialShapeDrawable

একটি সহ TextView:

    <TextView
        android:id="@+id/textview"
        ../>

আপনি প্রোগ্রামিয়ালি একটি প্রয়োগ করতে পারেন MaterialShapeDrawable:

float radius = getResources().getDimension(R.dimen.corner_radius);

TextView textView = findViewById(R.id.textview);
ShapeAppearanceModel shapeAppearanceModel = new ShapeAppearanceModel()
        .toBuilder()
        .setAllCorners(CornerFamily.ROUNDED,radius)
        .build();

MaterialShapeDrawable shapeDrawable = new MaterialShapeDrawable(shapeAppearanceModel);
ViewCompat.setBackground(textView,shapeDrawable);

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

আপনি যদি পটভূমির রঙ এবং সীমানা পরিবর্তন করতে চান তবে কেবলমাত্র প্রয়োগ করুন:

shapeDrawable.setFillColor(ContextCompat.getColorStateList(this,R.color.....));
shapeDrawable.setStroke(2.0f, ContextCompat.getColor(this,R.color....));

0

আপনি কোণার বৃত্তাকার জন্য এসভিজি ব্যবহার করতে পারেন এবং একটি চিত্রভিউতে লোড করতে এবং টেক্সটভিউতে চিত্রকল্পটি আনতে কনস্ট্রেন্টলয়েট ব্যবহার করতে পারেন

আমি এটি বৃত্তাকার ইমেজভিউ এবং গোলাকার টেক্সটভিউয়ের জন্য ব্যবহার করেছি


0

কেবলমাত্র একটি বৃত্তাকার কোণার চিত্রটি সেই দৃশ্যের ব্যাকগ্রাউন্ড হিসাবে ব্যবহার করলে তা এটি হয়ে যাবে।

android:background="@drawable/my_custom_image"
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.