国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android第三方開源下拉框NiceSpinner使用詳解

2019-12-12 02:29:26
字體:
來源:轉載
供稿:網友

android原生的下拉框Spinner基本上可以滿足Android開發對于下拉選項的設計需求,但現在越來越流行的下拉框不滿足于Android原生提供的下拉框Spinner所提供的設計樣式,而改用自定制或者第三方設計的下拉框Spinner。

NiceSpinner是一個第三方開源的下拉框Spinner,其在github上的項目主頁是:https://github.com/arcadefire/nice-spinner
 NiceSpinner原設計效果如動圖所示: 

但是通常開發者對于可能還需要對于下拉框中出現的文字和樣式進行二次開發,比如如果希望NiceSpinner的選中文本顏色或者下拉彈出框中的文字有些變化,則需要重新二次定制NiceSpinner code項目中的NiceSpinnerBaseAdapter, NiceSpinnerBaseAdapter中的getView返回的view表現形式即為下拉框中的結果: 

//這個方法將返回下拉列表的形制,可以在這里修改和二次定制開發。  //zhang phil 注解  @Override  @SuppressWarnings("unchecked")  public View getView(int position, View convertView, ViewGroup parent) {    TextView textView;    if (convertView == null) {      convertView = View.inflate(mContext, R.layout.spinner_list_item, null);      textView = (TextView) convertView.findViewById(R.id.tv_tinted_spinner);      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {        textView.setBackground(ContextCompat.getDrawable(mContext, mBackgroundSelector));      }      convertView.setTag(new ViewHolder(textView));    } else {      textView = ((ViewHolder) convertView.getTag()).textView;    }    textView.setText(getItem(position).toString());    textView.setTextColor(mTextColor);        //這里是被zhang phil修改的,用于改變下拉列表的文字顏色。    textView.setTextColor(Color.RED);    return convertView;  } 

修改后,寫一個小demo演示,測試的MainActivity.Java:

package zhangphil.demo;import java.util.Arrays;import java.util.LinkedList;import org.angmarch.views.NiceSpinner;import android.app.Activity;import android.graphics.Color;import android.os.Bundle;public class MainActivity extends Activity {  @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); NiceSpinner niceSpinner = (NiceSpinner) findViewById(R.id.nice_spinner); niceSpinner.setTextColor(Color.GREEN); LinkedList<String> data=new LinkedList<>(Arrays.asList("Zhang", "Phil", "@", "CSDN")); niceSpinner.attachDataSource(data); } }

布局文件:

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  xmlns:tools="http://schemas.android.com/tools"  android:layout_width="match_parent"  android:layout_height="match_parent"  tools:context="zhangphil.demo.MainActivity" >  <org.angmarch.views.NiceSpinner    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:layout_centerHorizontal="true"    android:id="@+id/nice_spinner" /></RelativeLayout>

代碼運行結果: 

我把NiceSpinner的代碼庫(library和實例demo)全部作為一個文件目錄push到github上面,項目主頁是:https://github.com/zhangphil/zhangphil-nice-spinner

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鄂托克旗| 兰西县| 弥渡县| 慈利县| 乃东县| 潞西市| 临澧县| 灵丘县| 蒙城县| 五河县| 望江县| 庄浪县| 阿勒泰市| 泰来县| 雷山县| 弋阳县| 青川县| 琼中| 靖江市| 吉隆县| 乃东县| 安塞县| 昌吉市| 都兰县| 武功县| 内乡县| 呼和浩特市| 都江堰市| 吐鲁番市| 闽侯县| 塔河县| 东明县| 绩溪县| 邹平县| 平潭县| 资溪县| 巍山| 九寨沟县| 新龙县| 金川县| 冷水江市|