android中spinner
A. 如何更改android spinner 背景
1、准備兩張圖片,並做好9.png
2、在drawable中定義spinner_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true"
android:drawable="@drawable/spinner_press" /><!--按下時效果-->
<item android:state_pressed="false"
android:drawable="@drawable/spinner" /><!--默認效果-->
</selector>
3、style中定義
<!-- spinner -->
<style name="spinner_style">
<item name="android:background">@drawable/spinner_selector</item>
<item name="android:paddingLeft">5dip</item>
</style>
4、調用
<Spinner
android:id="@+id/field_item_spinner_content"
style="@style/spinner_style"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:animationCache="true"
android:drawSelectorOnTop="true" />
5、在layout中定義simple_spinner_item.xml
<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:paddingLeft="5dip"
android:paddingRight="5dip"
android:gravity="center_vertical"
android:textColor="#808080"
android:singleLine="true"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
6、java代碼
ArrayAdapter<String> adapter = new ArrayAdapter<String>(mContext, R.layout.simple_spinner_item);
String level[] = getResources().getStringArray(R.array.affair_level);//資源文件
for (int i = 0; i < level.length; i++) {
adapter.add(level[i]);
}
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
B. android spinner怎麼用
android中的spinner控制項是表示下拉菜單的意思,按照如下步驟使用:
1、首先使用Android studio創建一個項目,如下圖:
4、最後去類中綁定控制項,並添加數據即可使用。
C. android中的spinner.setOnItemSelectedListener監聽問題
spinner中列表的第一項是默認被選中的,所以一進來就會執行監聽事件。
你可以讓第一項不被選中,spinner2.setSelection(0, false).
D. android中如何將下拉列表中獲取的值放到其他函數中
1.下拉列表使用Spinner。
2.布局:
<Spinner android:id="@+id/Spinner01"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</Spinner>
3.實現
1)新增選擇內容:String[] m={"A型","B型","O型","AB型","其他"};
2)初始化設配器:
private ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,m);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); //設置下拉列表的風格
spinner.setAdapter(adapter);//將adapter 添加到spinner中
spinner.setOnItemSelectedListener(new SpinnerSelectedListener()); //添加事件Spinner事件監聽
3)新建Spinner監聽器
class SpinnerSelectedListener implements OnItemSelectedListener{
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
view.setText("你選擇的值:"+m[arg2]);//設置編輯框為獲取到的選擇值
}
public void onNothingSelected(AdapterView<?> arg0) {
}
}
E. android spinner是什麼
Android中的Spinner是一個用戶界面組件,允許用戶從一系列預定義的選項中選擇一個。以下是關於Android Spinner的詳細解答:
1. 主要功能與特點:
- 節省屏幕空間:Spinner類似於下拉列表,但它在未展開時不會顯示所有選項,從而節省了屏幕空間。
- 數據源綁定:Spinner可以綁定到一個數組、列表或任何實現了Cursor介面的數據源,這使得數據的管理和更新變得更加方便。
2. 布局與定義:
- 布局文件:在Android的布局文件中,Spinner通常使用<Spinner>標簽來定義。開發者可以在XML文件中指定Spinner的位置、大小和其他屬性。
3. 用戶交互:
- 展開與收起:用戶可以通過點擊Spinner旁邊的箭頭按鈕來展開或收起選項列表。這種交互方式使得Spinner在用戶界面上既簡潔又實用。
4. 事件監聽與處理:
- 事件監聽:Spinner支持事件監聽功能。當用戶選擇一個選項時,開發者可以通過設置一個OnItemSelectedListener來處理這一事件,從而執行相應的邏輯操作。
5. 應用場景:
- 表單選項:在表單中提供選項選擇,如性別、職業等。
- 列表篩選:在列表視圖中提供篩選功能,允許用戶通過選擇篩選條件來過濾列表項。
- 設置界面:在設置界面中提供配置選項,如語言選擇、主題設置等。
6. 發展趨勢:
- 逐漸被取代:隨著Android版本的更新和技術的發展,Spinner逐漸被RecyclerView和SpinnerAdapter等更靈活的組件所取代。這些新組件提供了更強大的功能和更好的性能表現。
- 廣泛應用:盡管如此,Spinner仍然在一些舊的應用程序和簡單的UI設計中被廣泛使用,特別是在需要節省屏幕空間並提供下拉選擇功能的場景中。
F. Android 怎麼動態的設置Spinner聯動
重寫一下Adapter,然後自己對Adapter每個Item布局,在布局裡面設置一下點擊效果就行了。如:
public class MainActivity extends Activity {
private Spinner mSpinner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
private void initView(){
mSpinner = (Spinner)findViewById(R.id.spinner);
MyAdapter adapter = new MyAdapter(getResources().getStringArray(R.array.girl_names));
mSpinner.setAdapter(adapter);
}
private class MyAdapter extends BaseAdapter{
private String[] idInt ;
public MyAdapter(String[] idInt){
this.idInt = idInt;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return idInt.length;
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return idInt[arg0];
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {
// TODO Auto-generated method stub
if(arg1 == null){
arg1 = getLayoutInflater().inflate(R.layout.spinner_item, null);
}
TextView text = (TextView)arg1.findViewById(R.id.spinner_item_id);
text.setText(idInt[arg0]);
return arg1;
}
}
spinner_item.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/text_selector"
android:orientation="vertical" >
<TextView
android:layout_margin="10dip"
android:id="@+id/spinner_item_id"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textIsSelectable="true" >
</TextView>
</LinearLayout>
然後:text_selector.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true" android:drawable="@android:color/black"></item>
<item android:state_pressed="false" android:drawable="@android:color/transparent"></item>
</selector>