如何减少代码中的微调字体大小?

时间:2012-07-07 12:25:00

标签: android

实际上我需要通过代码减少微调器的字体大小,下面是我的代码:

  Spinner spiner2 = (Spinner) findViewById(R.id.Spinner2); 
  List<String> list = new ArrayList<String>();
  list.add("list 1"); 
  list.add("list 2");
  list.add("list 3"); 
  ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,android.R.layout.trytry,list); 
  dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
  spiner2.setAdapter(dataAdapter);

我在ArrayAdapter中创建了一个名为trytry.xml的xml文件,但在SetContentView中我提到了setContentView(R.layout.main);我很困惑怎么做

my trytry xml包含:

 <?xml version="1.0" encoding="utf-8"?>
 <Spinner xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent" >
<TextView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:text="@+id/TextView01"    
    android:layout_width="wrap_content"   
    android:layout_height="wrap_content" 
    android:textSize="18dp"> 
</TextView> 
 </Spinner>  

2 个答案:

答案 0 :(得分:0)

sp用于测试尺寸android:textSize="18sp"

使用此代码

public class AndroidCustomSpinner extends Activity {

   String[] DayOfWeek = {"Sunday", "Monday", "Tuesday",
               "Wednesday", "Thursday", "Friday", "Saturday"};

   @Override
   public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);

      Spinner mySpinner = (Spinner)findViewById(R.id.spinner);
      ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                           R.layout.row, R.id.weekofday, DayOfWeek);
      mySpinner.setAdapter(adapter);
   }
}

row.xml文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

   <TextView
      android:id="@+id/weekofday"
      android:layout_width="wrap_content"
      android:textSize="18sp
      android:layout_height="wrap_content"/>
</LinearLayout>

答案 1 :(得分:0)

有几个问题正在发生。

首先,当您创建自己的布局时,它不应以android为前缀。这是为框架附带的布局保留的。对于您自己的布局,它应该是R.id.trytry

其次,您需要将布局设置为关闭状态(在对适配器的初始调用中)和下拉资源(如果您希望它在打开时看起来相同)。

看起来应该是这样的:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);              //  Set the layout for the whole screen
                // Other code here
    ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,R.layout.trytry,list);   
    dataAdapter.setDropDownViewResource(R.layout.trytry); 
}

此外,您无法在微调器定义中添加视图。这给你错误。

spinner标签应该在你的main.xml中,如下所示:

<Spinner 
   android:layout_width="fill_parent"  
   android:layout_height="fill_parent" />  

然后你的trytry.xml应该是这样的:

<TextView    
    xmlns:android="http://schemas.android.com/apk/res/android"    
    android:text="@+id/TextView01"       
    android:layout_width="wrap_content"      
    android:layout_height="wrap_content"    
    android:textSize="18dp"/>