【问题标题】:Scrollable Selected Item Text in Spinner AndroidSpinner Android中的可滚动选定项目文本
【发布时间】:2014-10-22 10:08:27
【问题描述】:

它的第二天和斗争仍在继续...... :( 我有一个微调器,其中有文本长度很大的项目..所以我想添加 eclippse 和 marque.so 所选项目将变得可滚动..

需要一个微调器的选中项在被选中后滚动。微调器的宽度小于其选择的文本。 Whenever an item is selected, it has to scroll indefinitely in the spinner display.我可以在 TextView 中获取文本以选取框,但不能获取微调器所选项目的文本。有什么线索吗?

我有 微调器

private Spinner spinProcess;

spinProcess = (Spinner)findViewById(R.id.spinSearch);

这个微调器的 XMl 如下

<Spinner
                android:id="@+id/spinSearch"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="0.5"
                android:background="@drawable/add_project_drop_down_enabled"
                android:ellipsize="marquee"
                android:marqueeRepeatLimit="marquee_forever"
                android:paddingLeft="10dp"
                android:paddingRight="35dp"
                android:spinnerMode="dropdown"
                android:scrollHorizontally="true"
                android:textColor="@color/spinnerText" />

罪人的适配器如下

final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(HelpActivity.this,android.R.layout.simple_spinner_dropdown_item);
            for(int i=0;i<SpinnerLIst.size();i++)
            {
                arrayAdapter.add(SpinnerLIst.get(i));
            }

            spinProcess.setAdapter(arrayAdapter);

我尝试修改 android.R.layout.simple_spinner_dropdown_item ..但没有一个对我有用?? 关于这个已经有很多问题被问过了..但没有这样的解决方案对我有用......

【问题讨论】:

    标签: android android-layout spinner


    【解决方案1】:

    我尝试使用微调器的自定义适配器

    item_row.xml:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
    
        <TextView
            android:id="@+id/textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:ellipsize="marquee"
            android:fadingEdge="horizontal"
            android:lines="1"
            android:marqueeRepeatLimit="marquee_forever"
            android:scrollHorizontally="true"
            android:text="Simple application that shows how to use marquee, with a long text"
            android:textColor="#ff4500" />
    
    </RelativeLayout>
    

    适配器:

    public class SpinnerAdapter extends BaseAdapter {
    
        private Context mContext;
        private List<String> albumData;
        private static LayoutInflater inflater = null;
    
        public SpinnerAdapter(Context context, List<String> albumList) {
            mContext = context;
            albumData = albumList;
    
            inflater = (LayoutInflater) context
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        }
    
        public int getCount() {
            return albumData.size();
        }
    
        public Object getItem(int position) {
            return position;
        }
    
        public long getItemId(int position) {
            return position;
        }
    
        public class ViewHolder {
    
            private TextView albumName;
    
        }
    
        public View getView(int position, View convertView, ViewGroup parent) {
    
            ViewHolder holder = null;
            try {
                if (convertView == null) {
                    convertView = inflater.inflate(R.layout.item_row, null);
    
                    holder = new ViewHolder();
    
                    holder.albumName = (TextView) convertView
                            .findViewById(R.id.textView);
    
                    convertView.setTag(holder);
                } else {
    
                    holder = (ViewHolder) convertView.getTag();
                }
    
                holder.albumName.setText(albumData.get(position));
                holder.albumName.setSelected(true);
    
    
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    
            return convertView;
        }
    }
    

    主要活动:

    public class MainActivity extends Activity {
    
        private Spinner spin;
        private Context mContext;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.demo2);
            spin = (Spinner) findViewById(R.id.spinSearch);
            mContext = this;
    
            List<String> item = new ArrayList<String>();
    
            item.add("Item 1");
            item.add("Item 1 setAnimationListener setAnimationListener setAnimationListener item 1");
    
            SpinnerAdapter adapter = new SpinnerAdapter(mContext, item);
    
            spin.setAdapter(adapter);
        }
    }
    

    【讨论】:

    • 它正在工作..当我从下拉列表中选择项目时..带有大文本滚动的项目..
    • selected one...dat 表示在 spinner 上显示的那个..它这样做..spinner 滚动上的选定项目..
    • 无法在我的最后工作..您能否将您的示例应用程序邮寄给我@er.vicky1989@gmail.com
    • na :( 你寄给我了吗?
    【解决方案2】:

    它也适用于我。 答案是我的 Meenal Sharma 为我工作。 重要的一点是添加 RelativeLayout 而不是使用

    android:lines="1"
    android:singleLine="true"
    

    和布局

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
         android:layout_width="fill_parent"
         android:layout_height="fill_parent" >
         <CheckedTextView
              android:id="@+id/textView"
              style="?android:attr/spinnerDropDownItemStyle"
              android:singleLine="true"
              android:layout_width="wrap_content"
              android:layout_height="30dp"
              android:textSize="19sp"
              android:paddingLeft="1dp"
              android:scrollHorizontally="true"
              android:marqueeRepeatLimit="marquee_forever"
              android:ellipsize="marquee"/>
    </RelativeLayout>
    

    【讨论】:

      猜你喜欢
      • 2011-08-14
      • 1970-01-01
      • 1970-01-01
      • 2014-05-05
      • 1970-01-01
      • 2021-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多