我想了解微调器以及如何更改微调文本大小和微调文本颜色。
答案 0 :(得分:6)
在Android中,Spinner只是一个组合框或列表框。
它允许您查看多个项目,并允许您从列表中选择一个项目。
像这样编辑您的XML代码
<Spinner android:id="@+id/Spinner01"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
您的Java类代码应如下所示
public class SpinnerExample extends Activity {
private String array_spinner[];
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
array_spinner=new String[5];
array_spinner[0]="1";
array_spinner[1]="2";
array_spinner[2]="3";
array_spinner[3]="4";
array_spinner[4]="5";
Spinner s = (Spinner) findViewById(R.id.Spinner01);
ArrayAdapter adapter = new ArrayAdapter(this,
android.R.layout.simple_spinner_item, array_spinner);
s.setAdapter(adapter);
}
}
输出看起来像
此网站提供源代码为的示例屏幕截图 http://www.androidpeople.com/android-spinner-example
通常我们不能通过简单的适配器编辑textsize或textcolor,在firstxml文件中我们通过spinnername.findviewbyid(id)声明我们找到的spinner和firstjava文件。我们只是通过xml文件创建自定义适配器,即我们首先创建secondxml文件中我们提供textview,images等要求,在textview中我们给出textcolor和textsize然后我们在java中创建customadapterfile我们只是通过我们的自定义适配器中的layout inflater来膨胀那个xml文件,最后我们传递了那个适配器spinner。您的自定义查看微调器已创建。
自定义视图的示例,您还可以设置文本大小,文本颜色和图像以及许多内容: -
在这个联系人列表中,使用自定义适配器,我们在xml文件下面膨胀 contactadapter文件
xml文件: -
<TextView android:text="Name:" android:id="@+id/tvNameCustomContact"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="10dip" android:textColor="@color/darkcherryred"
/>
<TextView android:id="@+id/tvNumberCustomContact" android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Number:" android:textColor="@color/DarkGrey" android:paddingLeft="10dip"
android:layout_below="@+id/tvNameCustomContact"
/>
<TextView android:text="Group:" android:id="@+id/tvGroupCustomContact"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:textColor="@color/darkcherryred" android:paddingLeft="10dip"
android:layout_below="@+id/tvNumberCustomContact"/>
自定义适配器文件: -
import java.util.ArrayList;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageButton;
import android.widget.TextView;
public class ContactAdapter extends BaseAdapter
{
private ArrayList<String> name=new ArrayList<String>();
private ArrayList<String> number=new ArrayList<String>();
private ArrayList<String> group=new ArrayList<String>();
private LayoutInflater mInflater;
public ContactAdapter(Context context, ArrayList<String> name,ArrayList<String> number,ArrayList<String> group1)
{
this.mInflater = LayoutInflater.from(context);
this.name=name;
this.number=number;
this.group=group1;
}
public int getCount() {
return this.name.size();
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent)
{
final ViewHolder holder;
if (convertView == null)
{
convertView = mInflater.inflate(R.layout.contactcustomlist, null);
holder = new ViewHolder();
holder.Name = (TextView) convertView.findViewById(R.id.tvNameCustomContact);
holder.Number= (TextView) convertView.findViewById(R.id.tvNumberCustomContact);
holder.Group= (TextView) convertView.findViewById(R.id.tvGroupCustomContact);
convertView.setTag(holder);
}
else
{
holder = (ViewHolder) convertView.getTag();
}
holder.Name.setText ("Name : "+name.get(position));
holder.Number.setText("Numbers : "+number.get(position));
holder.Group.setText ("Group : "+group.get(position));
return convertView;
}
class ViewHolder {
TextView Name;
TextView Number;
TextView Group;
}
}
我们假设您创建了定义了微调器的firstxml文件,最后在firstjava文件中,您只需为我们传递自定义适配器的微调器添加代码:
ContactAdapter contactadapter = new ContactAdapter(this, NameA, MobileA, group);//NameA,MobileA,Group is a arraylist in which we pass the values from main java file to ContactAdapter java file
Spinner spinner= (Spinner)findviewbyid(R.id.spinnername);
spinner.setAdapter(contactadapter);
答案 1 :(得分:1)
hello-spinner教程非常有用。
http://developer.android.com/guide/tutorials/views/hello-spinner.html
将新的XML文件添加到布局文件夹中。
机器人:文字颜色= “#FF8B1500” 机器人:比重= “中心”/&GT;
将适配器资源更改为新的布局文件:
adapter = ArrayAdapter.createFromResource(
this, R.array.sound, R.layout.spinnerLayout);
`