android - 如何更改微调器文字大小?

标签 android android-spinner text-size

我想了解微调器以及如何更改微调器文本大小和微调器文本颜色。

最佳答案

在 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);
   }
 }

输出看起来像

enter image description here

这个网站提供了带有源代码的示例屏幕截图
http://www.androidpeople.com/android-spinner-example

通常我们不能通过简单的适配器编辑文本大小或文本颜色,在 firstxml 文件中我们声明通过 spinnername.findviewbyid(id) 找到的微调器和 firstjava 文件。我们只是通过 xml 文件创建自定义适配器,即首先我们创建secondxml 文件,我们在其中给出我们的要求,如 textview、图像等,在 textview 中,我们给出文本颜色和文本大小,然后我们在 java 中创建 customadapterfile,我们只是通过自定义适配器中的布局 inflater 对该 xml 文件进行膨胀,最后我们将该适配器传递给微调器。您的自定义查看微调器已创建。

自定义 View 示例,您可以在其中设置文本大小、文本颜色和图像以及许多其他内容:-

在此创建了一个联系人列表,并使用自定义适配器在 xml 文件下方扩充 联系人适配器文件

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;

}

我们假设您创建了第一个定义了 spinner 的 xml 文件,最后在 firstjava 文件中,您只需在我们传递自定义适配器的地方添加用于 spinner 的代码:

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);

关于android - 如何更改微调器文字大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5281069/

相关文章:

android - 仅在调试版本变体中包含 Stetho

java - Android - Fragment 在 Activity 的 Buttons 后面

android - 适用于 Android 的双微调器

Android ListView 字体大小和字体

java - Android:EditText 的默认文本大小是多少?

android - 如何跟踪 Activity 以便稍后重新启动它

Android:如何在对话框 Activity 的标题栏中设置图标?

html - CSS 行高属性大于字体大小属性

android - 仅使用微调器(在中间)创建progressDialog

java - 计算长度、面积和温度的两个spinner的乘法问题