আমরা যে চিত্রটি দিয়ে যুক্ত করেছি তার জন্য মার্জিন বা প্যাডিং সেট করা সম্ভব android:drawableLeft
?
আমরা যে চিত্রটি দিয়ে যুক্ত করেছি তার জন্য মার্জিন বা প্যাডিং সেট করা সম্ভব android:drawableLeft
?
উত্তর:
উল্লিখিত সিফাস android:drawablePadding
কেবলমাত্র টেক্সট এবং অঙ্কনযোগ্যগুলির মধ্যে প্যাডিংকে বাধ্য করবে যদি বোতামটি যথেষ্ট ছোট থাকে।
যখন বড় বোতাম আউট পাড়ার আপনি ব্যবহার করতে পারেন android:drawablePadding
সাথে android:paddingLeft
এবং android:paddingRight
টেক্সট বাধ্য এবং বাটন কেন্দ্রে প্রতি অভ্যন্তরস্থ অঙ্কনযোগ্য করতে। আলাদাভাবে বাম এবং ডান প্যাডিং সামঞ্জস্য করে আপনি বিন্যাসে খুব বিশদ সমন্বয় করতে পারেন।
এখানে টেক্সট এবং আইকনটি ডিফল্টর তুলনায় আরও ঘনিষ্ঠভাবে টানতে প্যাডিং ব্যবহার করার একটি উদাহরণ বোতাম:
<Button android:text="@string/button_label"
android:id="@+id/buttonId"
android:layout_width="160dip"
android:layout_height="60dip"
android:layout_gravity="center"
android:textSize="13dip"
android:drawableLeft="@drawable/button_icon"
android:drawablePadding="2dip"
android:paddingLeft="30dip"
android:paddingRight="26dip"
android:singleLine="true"
android:gravity="center" />
passwordToggleDrawable
বাম প্যাডিং ব্যবধানটি বড় হওয়ার কারণ এটি কেবল বাম অঙ্কনযোগ্যকে নির্দিষ্ট লক্ষ্য করতে পারে না।
টেক্সটভিউয়ের একটি অ্যান্ড্রয়েড রয়েছে: অঙ্কনযোগ্য প্যাডিং সম্পত্তি যা কৌশলটি করা উচিত:
অ্যান্ড্রয়েড drawablePadding
অঙ্কনযোগ্য এবং পাঠ্যের মধ্যে প্যাডিং।
একটি মাত্রিক মান হওয়া আবশ্যক, যা "14.5sp" এর মতো একটি ইউনিটের সাথে সংযুক্ত একটি ভাসমান পয়েন্ট নম্বর। উপলব্ধ ইউনিটগুলি হ'ল: পিএক্স (পিক্সেল), ডিপি (ঘনত্ব-স্বাধীন পিক্সেল), এসপি (পছন্দসই ফন্টের আকারের উপর ভিত্তি করে স্কেল করা পিক্সেল), ইন (ইঞ্চি), মিমি (মিলিমিটার)।
এটি কোনও সংস্থার ("@ [প্যাকেজ:] প্রকার: নাম" আকারে) বা থিমের বৈশিষ্ট্য (আকারে "? [প্যাকেজ:] [টাইপ:] নাম") এর এই জাতীয় মান সহ একটি রেফারেন্সও হতে পারে ।
এটি বিশ্বব্যাপী বৈশিষ্ট্য সংস্থান অঙ্কনযোগ্য প্যাডিংয়ের সাথে মিলে যায়।
android:drawablePadding
টেক্সট এবং অঙ্কনযোগ্য এর মধ্যে কেবল প্যাডিং ফাঁক তৈরি করবে যদি বোতামটি 2 টি একসাথে স্কোয়াশ করার পক্ষে যথেষ্ট ছোট হয়। যদি আপনার বোতামটি সম্মিলিত প্রস্থের (অঙ্কনযোগ্য বাম / অঙ্কনযোগ্য রাইটের জন্য) বা উচ্চতার (অঙ্কনযোগ্য / টানা জন্য উপযুক্ত) নীচে বৃহত্তর হয় তবে অঙ্কনযোগ্য প্যাডিং কিছুই করে না।
আমি এই মুহুর্তে পাশাপাশি লড়াই করছি। আমার বোতামগুলি বেশ প্রশস্ত এবং আইকনটি বোতামটির বাম প্রান্তে ঝুলছে এবং পাঠ্যটি মাঝখানে কেন্দ্রীভূত। আপাতত আমার কাছে যাওয়ার এই একমাত্র উপায়টি ফটোশপের সাহায্যে ক্যানভাসের বাম প্রান্তে ফাঁকা পিক্সেল যুক্ত করে অঙ্কনযোগ্যের মার্জিনে বেক করা। আদর্শ নয়, এবং আসলেই প্রস্তাবিত নয়। তবে আপাতত আমার স্টপ-গ্যাপ সমাধানটি টেক্সটভিউ / বোতামটি পুনর্নির্মাণের ক্ষেত্রে সংক্ষিপ্ত করে।
হ্যাঁ. নিম্নরূপে অঙ্কনযোগ্য প্যাডিং ব্যবহার করুন ,
<TextView
android:id="@+id/tvHeader"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Settings and Contents"
android:drawableLeft="@drawable/icon_success"
android:drawablePadding="10dp" />
আপনার অঙ্কনযোগ্য উত্স। Xml করুন
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true">
<inset android:drawable="@drawable/small_m" android:insetLeft="10dp" android:insetTop="10dp" />
</item>
<item>
<inset android:drawable="@drawable/small_p" android:insetLeft="10dp" android:insetTop="10dp" />
</item>
</selector>
android:drawablePadding
অঙ্কনযোগ্য আইকনকে প্যাডিং দেওয়ার সহজতম উপায় তবে আপনি যেমন আঁকুন আইকনটির মতো paddingRight
বা সাইডের নির্দিষ্ট প্যাডিং দিতে পারবেন না paddingLeft
achieve এটির জন্য আপনাকে এটি খনন করতে হবে achieve আর তুমি প্রয়োগ করেন paddingLeft
বা paddingRight
করতে Edittext
তারপর এটি প্যাডিং সমগ্র করার স্থাপন করবে Edittext
অঙ্কনযোগ্য আইকন করেন।
আপনার সম্পাদনাটির জন্য একটি আকার নির্ধারণ করুন এবং উদাহরণ হিসাবে এটি একটি প্যাডিং দিন
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<padding
android:left="5dp"
android:right="5dp"
/>
<solid android:color="#F6F6F6" />
<stroke
android:width="1px"
android:color="#C3C3C3" />
<corners
android:bottomLeftRadius="1dp"
android:bottomRightRadius="1dp"
android:topLeftRadius="1dp"
android:topRightRadius="1dp" />
</shape>
এই আকারে সংজ্ঞায়িত প্যাডিং অঙ্কনযোগ্য বামে বা ডানদিকে প্যাডিং দিতে সহায়তা করবে ---------------------- এই চিত্রটি এডিটভিউতে প্রয়োগ করুন
<EditText
android:id="@+id/example"
android:layout_width="fill_parent"
android:layout_height="36dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:background="@drawable/shape2"
android:drawableLeft="@drawable/icon1"
android:drawablePadding="@dimen/txtDrwblPadding"
android:ems="10"
/>
ব্যাকগ্রাউন্ড হিসাবে সেই সংজ্ঞায়িত আকারটি ব্যবহার করা আপনার সম্পাদনা পাঠ্যকে কিছু স্টাইল প্লাস মার্জিন অঙ্কনযোগ্য লেফটে দেবে।
অ্যান্ড্রয়েড: অঙ্কনযোগ্য আইডিতে প্যাডিং দেওয়ার সহজতম উপায় হ'ল অঙ্কনযোগ্য প্যাডিং তবে আপনি প্যাডিংরাইট বা আঁকার যোগ্য আইকনের প্যাডিং লেফ্টের মতো নির্দিষ্ট এক পাশের প্যাডিং দিতে পারবেন না। এটির জন্য আপনাকে এটি খনন করতে হবে achieve এবং যদি আপনি এডিটেক্সটগুলিতে প্যাডিং লেফট বা প্যাডিং রাইট প্রয়োগ করেন তবে এটি আঁকার যোগ্য আইকন সহ পুরো এডিটেক্সটকে প্যাডিং রাখবে।
<TextView android:layout_width="match_parent"
android:padding="5sp"
android:id="@+id/date"
android:gravity="center|start"
android:drawableEnd="@drawable/ic_calendar"
android:background="@drawable/edit_background"
android:hint="Not Selected"
android:drawablePadding="10sp"
android:paddingStart="10sp"
android:paddingEnd="10sp"
android:textColor="@color/black"
android:layout_height="wrap_content"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="32dp"
android:background="@drawable/a"
android:drawableLeft="@drawable/concern_black"
android:gravity="center"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:drawablePadding="10dp"
android:text="text"/>
দ্রষ্টব্য: লেআউট_পথটি মোড়ানো_ কনটেন্ট হওয়া দরকার এবং ফাঁক নিয়ন্ত্রণ করতে প্যাডিং লেফ্ট প্যাডিং রাইট অঙ্কনযোগ্য প্যাডিং ব্যবহার করা উচিত। আপনি যদি লেআউট_পথের মান নির্দিষ্ট করেন তবে এটির আইকন এবং পাঠ্যের মধ্যে ফাঁক থাকবে, আমি মনে করি একবার লেআউট_পথকে একটি নির্দিষ্ট মান দিন, প্যাডিং পরিমাপ করবে।
আমি আমার উত্তরটিও রিংয়ের মধ্যে ফেলে দেব। আপনি যদি এই প্রোগ্রামটিমেটিকভাবে করতে চান তবে নিম্নলিখিতগুলি করতে পারেন।
final Drawable drawable = ContextCompat.getDrawable(getContext(), R.drawable.somedrawable);
final boolean isLTR = ViewCompat.LAYOUT_DIRECTION_LTR == ViewCompat.getLayoutDirection(this);
final int iconInsetPadding = getResources().getDimensionPixelSize(R.dimen.icon_padding);
final Drawable insetDrawable = new InsetDrawable(drawable, isLTR ? 0 : iconInsetPadding, 0, isLTR ? iconInsetPadding : 0, 0);
এটি অঙ্কনযোগ্য প্রান্তে প্যাডিং যুক্ত করবে যেখানে ফোনটি এলটিআর বা আরটিএলে থাকে তার উপর নির্ভর করে বাম / ডানদিকে নির্ভর করবে।
পরিবর্তে সাথে এবং ভিতরে Button
ব্যবহার করুন । শিশু আইটেমগুলিতে পছন্দ করুন এবং ব্যবহার করুন ।LinearLayout
ImageView
TextView
ImageView
TextView
android:duplicateParentState="true"
আপনি স্তর-তালিকা ব্যবহার বিবেচনা করা উচিত
এর মতো একটি অঙ্কনযোগ্য ফাইল তৈরি করুন, এটি আইকো_ক্যালেন্ডার.এক্সএমএল হিসাবে নাম দিন
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="@android:color/transparent"/>
</shape>
</item>
<item android:right="10dp">
<bitmap android:gravity="center_vertical|left"
android:src="@drawable/ic_calendar_16dp"
android:tint="@color/red"
/>
</item>
</layer-list>
বিন্যাস ফাইলের অধীনে,
<TextView
android:id="@+id/tvDate"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/ic_calendar"
android:textColor="@color/colorGrey"
android:textSize="14sp"
/>
আপনি বোতামের জন্য একটি প্যাডিং ব্যবহার করতে পারেন এবং আপনি অঙ্কনযোগ্য প্যাডিং দিয়ে খেলতে পারেন
<Button
style="@style/botonesMenu"
android:padding="15dp"
android:drawablePadding="-15dp"
android:text="@string/actualizarBD"
android:textAlignment="gravity"
android:gravity="center"
android:layout_row="1"
android:layout_column="0"
android:drawableTop="@drawable/actualizar"
android:id="@+id/btnActualizar"
android:onClick="actualizarBD" />
অ্যান্ড্রয়েডের সাথে আপনার অঙ্কনযোগ্য রাখার ক্ষেত্রে আপনি একটি নির্দিষ্ট প্যাডিং ব্যবহার করতে পারেন: প্যাডিংফিট = "10 ডিপি" বা অ্যান্ড্রয়েড: প্যাডিংবটম = "10 ডিপি" বা অ্যান্ড্রয়েড: প্যাডিং রাইট = "10 ডিপি" বা অ্যান্ড্রয়েড: প্যাডিংটপ = "10 ডিপি"
আপনি android:drawableLeft="@drawable/your_icon"
বাম দিকে প্রদর্শিত হতে হবে অঙ্কন সেট করতে ব্যবহার করতে পারেন । অঙ্কনযোগ্য একটি প্যাডিং সেট করার জন্য আপনার ব্যবহার করা উচিত android:paddingLeft
বা android:paddingRight
যথাক্রমে বাম / ডান প্যাডিং সেট করতে।
android:paddingRight="10dp"
android:paddingLeft="20dp"
android:drawableRight="@drawable/ic_app_manager"
যদি অঙ্কনযোগ্য রৌসুর আকার ঠিক করা থাকে তবে আপনি এটির মতো করতে পারেন:
<Button
android:background="@drawable/rounded_button_green"
style="?android:attr/selectableItemBackground"
android:layout_height="wrap_content"
app:layout_widthPercent="70%"
android:drawableRight="@drawable/ic_clear_black_24dp"
android:paddingRight="10dp"
android:paddingLeft="34dp"
tools:text="example" />
এখানে মূল কীটি হ'ল:
android:drawableRight="@drawable/ic_clear_black_24dp"
android:paddingRight="10dp"
android:paddingLeft="34dp"
এটি হ'ল অঙ্কনযোগ্য সংস্থান এবং প্যাডিংরাইটের আকার প্যাডিং লেফট।
textView.setCompoundDrawablesWithIntrinsicBounds(AppCompatResources.getDrawable(this,drawable),null,null,null);
addressTitleView.setCompoundDrawablePadding();
সবে থেকে রিমেক করুন:
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="40dp"/>
<solid android:color="@android:color/white"/>
</shape>
প্রতি
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:right="@dimen/_2dp"
android:left="@dimen/_2dp"
android:bottom="@dimen/_2dp"
android:top="@dimen/_2dp"
>
<shape
xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="40dp"/>
<solid android:color="@android:color/white"/>
</shape>
</item>
</layer-list>
নেতিবাচক প্যাডিং ব্যবহার করার চেষ্টা করে
ভালো লেগেছে:
android:paddingLeft="-8dp"