آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

سفارشی سازی spinner ها (حل شد)

sana ebadi  9 سال پیش  9 سال پیش
0 0

سلام بچه ها ...

من یه از یه  spinner توی برنامم استفاده کردم . همه چی از لحاظ کد و لی اوت اوکی هستش . 

فقط یه جاش مشکل داره اونم اینه که وقتی میخوام spinner رو سفارشی کنم و از دوتا خاصیت 

  • android:spinnerItemStyle"
  • android:spinnerDropDownItemStyle"

 استفاده کنم از spinnerItemStyle که حالت دیفالت spinner (تا قبل از کلیک کردن) هست درسته 

ولی SpinnerDropDownItemStyle رو که براش استایل تعریف میکنم اصن اعمال نمیشه ....  اینم کدای مربوط به استایلش 


<style name="SpinnerStyleDrop">

<item name="android:gravity">center</item>
<item name="android:textColor">@color/colorText</item>
<item name="android:background">@color/colorBackground</item>
<item name="android:textSize">20sp</item>
</style>
 

دلیلی داره ؟ باید از اتریبویت دیگه ای استفاده کنم ؟ اینم تصویر برنامه  ممنون بچه ها ... 

+1 0
لینک (9 سال پیش)
+2 0
خوب چکاریه خودت یه لای اوت بساز اینجوری فک کنم کارت راحتره بعد یه آداپتر بساز و لی اوت رو بهش وصل کن؟! اگه خواستی کئاش رو میزارم براتون (9 سال پیش)
0 0
مشکلم حل شد ولی اگه تاین روشو رو هم بگید ممنون میشم (9 سال پیش)
0 0
لطف کنید و کدای این اداپتر رو بگید ممنون میشم من از روش زیر حل کردم مشکلمو ولی از طریق اداپتر بلد نیستم (9 سال پیش)
+2 0
چنتا ویدئوی خوب تو یوتیوب هست می تونید ببینید (9 سال پیش)
 برای این سوال 2 پاسخ وجود دارد. مشاهده پاسخ صحیح
پاسخ به سوال 
sana ebadi  9 سال پیش
0 0

 پاسخ صحیح

کدا رو اینجور نوشتم مشکل حل شد . 

    <style name="SpinnerStyleDrop" parent="android:Widget.TextView.SpinnerItem">
<item name="android:background">@color/colorBackground</item>
<item name="android:layout_gravity">center</item>\
<item name="android:gravity">center</item>
<item name="android:textSize">18sp</item>
<item name="android:textAlignment">center</item>
<item name="android:textColor">@color/colorText</item>

</style>

توی قسمت استایلتون این کدا رو مینویسید درست میشه 

پاسخ به سوال 
Shadow  9 سال پیش
+1 0

 String[] city = {"تهران", "اصفهان", "شیراز", "قم", "مشهد"};
Spinner spinner_city;
spinner_city = (Spinner) findViewById(R.id.spinner_city);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), R.layout.custom_spinner, city);
 spinner_city.setAdapter(adapter);
 <Spinner
                android:id="@+id/spinner_city"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"/>

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="150dp"
    android:layout_height="match_parent"
    android:textColor="@android:color/white"
    android:background="@color/colorPrimary"
    android:text="all"
    android:gravity="center"
    android:textSize="18sp"
android:padding="10dp"
    >

</TextView>
0 0
خیلی عالیه ممنون ببخشید یه سوال حالا این لایه ای که به اداپتر معرفی کردید R.layout.custom_spinner رو چجور باید پر کنم ؟ کدوم کدا باید توش معرفی بشن ؟ همون لایه ی ای هست که spinner رو توش نعریف کردم ؟ ممنون میشم (9 سال پیش)
+1 0
نوشتم دیگه برات این تکست ویو همونه (9 سال پیش)
0 0
بله متوجه شدم امتحان کردم درست شد . خیلی عالی بود تا حالا از اداپتر استفاده نکرده بودم البته تازه کارم . خیلی ممنون (9 سال پیش)
+1 0
شما می تونید اسپینر رو خیلی بیشتر سفارشی سازی کنید. می تونید خودتون اسپینر بسازید. مثلا یک تکست ویو بسازید که وقتی روش کلیک شد یک دیالوگ نمایش داده بشه که توش محتویات دسته بندی شده و هر کدوم که انتخاب بشه کار مخصوص بخودش رو انجام بده. (9 سال پیش)
0 0
بله منم اینکارو کردم من برا هرکدوم از ایتماش یه دستور نوشتم که رنگ صفحه رو عوض کنن میتونم هرچی که دلم خواست بنویسم . من اینجاشو مشکل نداشتم من فقط توی طراحی و دیزاینش مشکل داشتم که به کمک دوستان حل شد . ممنون از شما (9 سال پیش)
+1 0
اینکه وقتی روی یک اسپینر کلیک می شه یک منو زیر دکمه باز می شه، از قابلیت های پیشفرض اسپینر اندروید استودیو، یا خودتون طراحی کردید؟ (9 سال پیش)
0 0
@Rooh بله این خاصیت اسپینر هست (9 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .