راست چین کردن متن چک باکس چگونه؟

پرسیده شده
فعالیت 1483 روز پیش
دیده شده 1359 بار
2

سلام وقت بخیر

من دنبال راهی هستم بتونم متن چک باکس رو راست چین کنم

راه زیر رو انجام دادم ولی از ای پی ای 21 به بالا فقط جواب میده

android:button="@null"
android:drawableRight="?android:attr/listChoiceIndicatorMultiple"
  • سوال اول ایا اتربیوت ?attr/ فقط برای اندروید لالی پاپ به بالاست؟اصلا هدف اینم ممنون میشم توضیح بدین!

از روش زیر هم رفتم که اتربیوت های زیر رو برای چک باکس قرار دادم ولی تغییری نکرد (عجیب!)

android:textDirection=""
android:layoutDirection=""
  • سوال دوم ممنون میشم بگین این دو تا اتربیوت هدفشون چیه؟چون هر جا تست میکنم تغییری نمیکنه!
  • سوال سوم cliptopadding کاربردش چیه؟اینم وقتی تست میکنم تغییری نمیکنه ریساکلر اگرچه قبلا در تصاویری دیده بودم که پدینگ میخوره از پایین ولی واسه من تغییری نکرد

سپاس خوندین.

فایل پیوست

پوریا شفیعی
پوریا شفیعی

21 فروردین 99

3
حذف شده

سلام

سوال اول:

استایل هایی که شما واسه برنامتون استفاده می‌کنید  مجموعه ای از ویژگی هایی هستند به اسم attribute که به همراه مقادیر اون ها داخل فایل های از پیش تعریف شد تعریف شدن.

شما میتونید خودتون attr تعریف کنید و از اون ها در استایلتون استفاده کنید.

برای ساختن این مورد به سوال زیر مراجعه کنید:

https://stackoverflow.com/questions/3441396/defining-custom-attrs

 

سوال دوم:

layoutDirection برای این هست که شما بتونید تمامی لایه ها رو بر اساس زبان کاربر یا حتی به صورت پیش فرض راست چین یا چپ چین کنید.

textDirection برای شیوه نمایش متون به کار میره ممکنه خود لایه راست چین باشه اما شما با این ویژگی متن رو باز تغییر بدین

سوال سوم:

از این ویژگی برای ویو هایی که اسکرول میشن استفاده میشه. فرض کنین ما لیستی از آیتم ها داریم و به صورت زیر نمایش داده میشه:

  • (padding)
  • item 4
  • item 5
  • item 6
  • item 7
  • (padding)

اما اگه الان خاصیت clipToPadding="false" رو برابر با false قرار بدیم به صورت پیشفرض وقتی اسکرول نمی کنیم به صورت زیر هستش:

  • item 4
  • item 5
  • item 6
  • item 7

حالا اگه ما بخوایم اسکرول به بالا یا پایین انجام بدیم به صورت زیر میشه:

  • padding)
  • item 1
  • item 2
  • item 3
  • item 4

یا

  • item 7
  • item 8
  • item 9
  • item 10
  • (padding)

 

فایل پیوست

وحید گروسی

توسط

وحید گروسی

22 فروردین 99

0
حذف شده

وحید عزیز سپاس از پاسخت 

فقط چطوری باید متن چک باکس رو ببرم سمت چپ که در تمامی ورژن ها پاسخگو باشه

فایل پیوست

پوریا شفیعی

توسط

پوریا شفیعی

22 فروردین 99

حذف شده
با توجه به اینکه الان از ورژن ۱۹ به بعد استفاده میشه خیالت راحت باشه که از LayoutDirectionمیتونی استفاده کنی
وحید گروسی

31 فروردین 99

3
حذف شده

سلام.

قابلیت rtl layout از api ۱۷ به بعد یعنی:

Android 4.2 (Jelly Bean)

اضافه شده و همچنین اتریبیوت های android:textDirection و android:layoutDirection هم از همین api17 اضافه شدن.

راه حل این سؤال برای api۱۷ به بالا، rtl کردن android:layoutDirection هست.

اما برای نسخه های پایینتر بنظرم باید لایه ی مجزا بسازید. روی layoutDirection دکمه های alt+shift+enter رو بزنید و override resource کنید تا برای نسخه های پایینتر، از لیوت دیگه ای استفاده بشه.

در این لیوت CustomCheckBox خودتون رو بسازید:

<LinearLayout
    android:id="@+id/lyt_checkbox"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:orientation="horizontal"

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="تست چک باکس" />
    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>

در مورد textDirection اگر ساده بخوام بگم، مثل ctrl + shift راست و چپ توو تکست ادیتورها و word میمونه.

مثلا جمله ی "متخصص ۷learn هستم." رو داخل ادیتور همین پست کپی کن و ctrl + shift چپ کیبوردو بزن بعد چینش تکست رو ببین به چه شکل در میاد.

فایل پیوست

محسن موحد

توسط

محسن موحد

22 فروردین 99