效果图
布局代码:
<?xml version="1.0" encoding="utf-8"?> <Spinner
android:popupBackground="#d43c3c"
android:id="@+id/spinner1"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/textView1"
android:layout_centerHorizontal="true" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/spinner1"
android:layout_alignParentLeft="true"
android:layout_marginBottom="20dp"
android:layout_marginLeft="16dp"
android:textSize="20sp"
android:text="所选城市" />
MainActivity代码:
package com.example.select;
import android.annotation.SuppressLint;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener {
private Spinner spinner;
private ArrayAdapter<CharSequence> adapter ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.spinner =(Spinner) this.findViewById(R.id.spinner1);
//两种方式给下拉列表注册适配器
//2 :.createFromResource(content对象,xml中数组id,样式ID)
//最后一个参数android.R.layout.simple_spinner_dropdown_item R.layout.dropdown_stytle自己定义的一个样式
adapter = ArrayAdapter.createFromResource(MainActivity.this,
R.array.planets_array,R.layout.dropdown_stytle);
//可以使用自带的android.R.layout.simple_spinner_dropdown_item R.layout.dropdown_stytle自己定义的一个样式
adapter.setDropDownViewResource(R.layout.dropdown_stytle);
spinner.setAdapter(adapter);
//注册监听器
spinner.setOnItemSelectedListener(MainActivity.this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
//getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position,
long id) {
// TODO Auto-generated method stub
//框中的字体改变颜色
TextView tv=(TextView)view;
tv.setTextColor(getResources().getColor(R.color.blue));
//获取选中了那个
String item = (String) spinner.getItemAtPosition(position);
Toast.makeText(MainActivity.this, "您选中了"+item+"选项", 0).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
}
改变字体的布局dropdown_stytle:
<?xml version="1.0" encoding="utf-8"?>在values下边的String
北京
上海
田径
北京
上海
田径
北京
上海
田径
北京
上海
田径
北京
上海
田径
下拉框中你要的选择数据有多少这里就是多少