বিকল্প 1: শেপ ড্রয়যোগ্য
আপনি যদি কোনও লেআউটের চারপাশে কোনও সীমানা চান বা এমন চিত্র দেখতে চান যেখানে আপনি ব্যাকগ্রাউন্ড সেট করতে পারেন তবে এটি সহজ বিকল্প। drawable
ফোল্ডারে একটি এক্সএমএল ফাইল তৈরি করুন যা দেখতে এরকম কিছু দেখাচ্ছে:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid android:color="#8fff93" />
<stroke
android:width="1px"
android:color="#000" />
</shape>
আপনি solid
পূরণ করতে না চাইলে আপনি এটি সরাতে পারেন। background="@drawable/your_shape_drawable"
আপনার লেআউট / ভিউয়ের সেট ।
বিকল্প 2: পটভূমি দেখুন
এখানে আমি একটি ছোট কৌশল ব্যবহার করেছি RelativeLayout
। মূলত আপনি একটি সীমানা দিতে চান এমন দৃশ্যের নীচে একটি কালো বর্গক্ষেত্র রয়েছে এবং তারপরে সেই দৃশ্যটি কিছু প্যাডিং (মার্জিন নয়!) দিন যাতে কালো বর্গটি প্রান্তগুলির মধ্য দিয়ে দেখায়।
স্পষ্টতই এটি কেবলমাত্র সঠিকভাবে কাজ করে যদি দৃশ্যের কোনও স্বচ্ছ অঞ্চল না থাকে। যদি এটি করে তবে আমি আপনাকে এমন একটি কাস্টম লেখার পরামর্শ দিচ্ছি BorderView
যা কেবল সীমানা আঁকবে - এটি কোডের কয়েক ডজন লাইন হওয়া উচিত।
<View
android:id="@+id/border"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/image"
android:layout_alignLeft="@+id/image"
android:layout_alignRight="@+id/image"
android:layout_alignTop="@+id/main_image"
android:background="#000" />
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_...
android:padding="1px"
android:src="@drawable/..." />
আপনি হতাশ করছি, এটা করে দিয়ে কাজ adjustViewBounds=true
। তবে, আপনি পুরোপুরি একটি পটভূমি রাখতে চাইলে এটি কাজ করে না RelativeLayout
, কারণ একটি বাগ রয়েছে যা আপনাকে একটি RelativeLayout
দিয়ে পূর্ণ করা বন্ধ করে দেয় View
। সেক্ষেত্রে আমি ছবি Shape
আঁকার প্রস্তাব দিই ।
বিকল্প 3: 9-প্যাচ
একটি চূড়ান্ত বিকল্পটি এই জাতীয় 9-প্যাচের মতো অঙ্কনযোগ্য ব্যবহার করতে হবে:
আপনি সেট করতে পারেন এমন যে কোনও দৃশ্যে এটি ব্যবহার করতে পারেন android:background="@drawable/..."
। এবং হ্যাঁ এটি 6x6 হওয়া দরকার - আমি 5x5 চেষ্টা করেছিলাম এবং এটি কার্যকর হয়নি।
এই পদ্ধতির অসুবিধাটি হ'ল আপনি রঙগুলি খুব সহজেই পরিবর্তন করতে পারবেন না, তবে যদি আপনি অভিনব সীমানাগুলি চান (উদাহরণস্বরূপ উপরে এবং নীচে কেবল একটি সীমানা, যেমন এই প্রশ্নে) তবে আপনি Shape
আঁকতে সক্ষম হয়ে উঠতে পারবেন না , যা খুব শক্তিশালী নয়।
বিকল্প 4: অতিরিক্ত দর্শন
আপনি যদি কেবলমাত্র নিজের দৃষ্টির উপরে এবং নীচে সীমানা চান তবে আমি এই সত্যিই সহজ বিকল্পটি উল্লেখ করতে ভুলে গিয়েছি। আপনি আপনার দৃষ্টিভঙ্গিটি উল্লম্ব স্থানে LinearLayout
রাখতে পারেন (যদি এটি ইতিমধ্যে না থাকে) এবং তারপরে View
নীচে এবং এর নীচে এটি খালি যুক্ত করুন :
<View android:background="#000" android:layout_width="match_parent" android:layout_height="1px"/>