نمایش نتایج 1 تا 2 از 2

نام تاپیک: ساخت یک spinner سفارشی

  1. #1

    ساخت یک spinner سفارشی

    سلام
    میخوام یه اسپینر سفارشی بسازم که هر یک از ایتم ها یه تصویر کنارش باشه که با انتخاب اون تصویر imageview که در همون صفحه هست تغییر کنه
    کسی می تونه راهنمایی کنه
    ممنون

  2. #2

    نقل قول: ساخت یک spinner سفارشی

    بالاخره خودم جواب رو پیدا کردم
    اینجا میزارم که شاید سوال یه نفر دیگه هم باشه

    1-
    اول باید یه لایه طراحی کنیم که در این پروژه به اسم layoutspinner که داخل لایه یه Textview و یه ImageView در یک لایه افقی و اون لایه در یک لایه عمودی قرار دارد


    2-
    این کد کامل فایل MainActivity هست
    package com.PRG.customspinner;

    import java.util.ArrayList;
    import java.util.List;

    import android.app.Activity;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.widget.ArrayAdapter;
    import android.widget.ImageView;
    import android.widget.Spinner;

    public class MainActivity extends Activity {
    Spinner spinner;
    ImageView imageView1;
    List <String> list;
    CustomAdapter adapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    spinner = (Spinner) findViewById(R.id.spinner);
    imageView1 = (ImageView) findViewById(R.id.imageView1);

    list = new ArrayList<String>();
    list.add("Android");
    list.add("IOS");
    list.add("Linux");
    list.add("Windows Phone");
    adapter = new CustomAdapter(this, R.layout.layoutspinner, R.id.textView1, list);
    spinner.setAdapter(adapter);
    }

    }



    3-
    بعد باید کلاس ArrayAdapter رو شخصی سازی کنیم
    اینهم کل کلاس هست که به نام CustomAdapter نوشته میشه
    package com.PRG.customspinner;

    import java.util.List;

    import com.PRG.customspinner.R.id;

    import android.annotation.SuppressLint;
    import android.content.Context;
    import android.graphics.drawable.Drawable;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.ArrayAdapter;
    import android.widget.ImageView;
    import android.widget.TextView;

    public class CustomAdapter extends ArrayAdapter<String> {
    Context context;
    List <String> list;

    public CustomAdapter(Context context, int resource, int textViewResourceId, List<String> objects) {
    super(context, resource, textViewResourceId, objects);
    // TODO Auto-generated constructor stub
    this.context = context;
    this.list = objects;
    }

    @SuppressLint("ViewHolder")
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    return view(position, convertView, parent);
    }

    @Override
    public View getDropDownView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    return view(position, convertView, parent);
    }


    private View view(int position, View convertView, ViewGroup parent){
    LayoutInflater inflater = (LayoutInflater) this.context.getSystemService(Context.LAYOUT_INFLA TER_SERVICE);

    View view = inflater.inflate(R.layout.layoutspinner, parent, false);

    TextView textView1 = (TextView) view.findViewById(R.id.textView1);
    ImageView imageView1 = (ImageView) view.findViewById(R.id.imageView1);

    textView1.setText(this.list.get(position));
    Drawable drawable= null;
    if(position == 0){
    drawable = this.context.getResources().getDrawable(R.drawable .ic_android);
    }else if (position == 1) {
    drawable = this.context.getResources().getDrawable(R.drawable .ic_ios);
    }else if (position == 2) {
    drawable = this.context.getResources().getDrawable(R.drawable .ic_linux);
    }else if (position == 3) {
    drawable = this.context.getResources().getDrawable(R.drawable .ic_windowsphone);
    }


    imageView1.setImageDrawable(drawable);

    return view;
    }



    }


تاپیک های مشابه

  1. قرار دادن یک متن اولیه برای spinner
    نوشته شده توسط pooya1072 در بخش Android Studio
    پاسخ: 4
    آخرین پست: دوشنبه 23 فروردین 1395, 04:11 صبح
  2. مشکل با انتخاب spinner
    نوشته شده توسط majid_7 در بخش Android Studio
    پاسخ: 2
    آخرین پست: شنبه 30 آبان 1394, 08:45 صبح
  3. نمایش داده در spinner
    نوشته شده توسط ali_72 در بخش Android Studio
    پاسخ: 3
    آخرین پست: چهارشنبه 27 خرداد 1394, 11:21 صبح
  4. Spinner
    نوشته شده توسط antimat در بخش Android Studio
    پاسخ: 7
    آخرین پست: پنج شنبه 08 خرداد 1393, 08:01 صبح
  5. سوال: تغییر عکس در Spinner و کلیک روی هر آیتم Spinner
    نوشته شده توسط omidandroid در بخش Android Studio
    پاسخ: 0
    آخرین پست: شنبه 12 بهمن 1392, 20:54 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •