2014-10-05 137 views
2

我是Android编程的初学者。更改微调器的文字大小

我想改变一些问题here中提到的微调器的文本大小。我在res/values/如下创建my_spinner_style.xml

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/spinnerTarget" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:textColor="#000000" 
    android:textSize="13sp" 
/> 

和使用这样的适配器:

spinner = (Spinner)findViewById(R.id.spinner); 
ArrayAdapter<CharSequence> adapter=ArrayAdapter.createFromResource(this,R.array.answers,android.R.layout.my_spinner_style); 
spinner.setAdapter(adapter); 
spinner.setOnItemSelectedListener(this); 

,并试图在布局文件夹中创建style.xml。我的适配器不识别my_spinner_style。我把它放在错误的目录中吗?

回答

2

它应该是R.layout.my_spinner_style,删除android在开始,这使得它指向Android包,而不是你的项目。

请注意,您要导入的R是您的项目的资源,称android.R指向Android资源,而不是您的项目。

//编辑这是一款基于屏幕尺寸

dimens.xml你怎么有大小这是在值(默认):

<resources> 

<!-- Font sizes in SP --> 
<dimen name="small_font">14sp</dimen> 
<dimen name="big_font">20sp</dimen> 

</resources> 

dimens.xml这是在我的价值fr(法国,在你的情况下,你将有屏幕大小限定符)

<resources> 

<!-- Font sizes in SP --> 
<dimen name="small_font">16sp</dimen> 
<dimen name="big_font">22sp</dimen> 

</resources> 

然后在我的例如TextView,这是我的字体大小:

<TextView 
     android:id="@+id/textview" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="@dimen/small_font"> 

    </TextView> 

现在的字体大小是依赖于语言(英语去values和法国去values-fr)你应该有同样的事情,但使用屏幕大小限定符。

+0

它的工作原理。谢谢。 – SHREE6174 2014-10-05 14:25:38

+0

我已经为不同的屏幕尺寸编写了不同的xml文件。微调器文本大小的变化在所有布局中都会发生变化。由于我将大小硬编码为26sp,因此它在所有尺寸上都保持不变。无论如何要改变这个? – SHREE6174 2014-10-05 14:33:29

+0

我假设您使用限定符来决定要根据屏幕大小加载哪个布局。为'values'文件夹创建相同的文件夹,并在其中放置一个'dimens.xml'(它的类型为'resources')。然后,不要对这些值进行硬编码,而是指向维度并从那里获取您的价值。我会在一分钟内为其发布代码段。 – NightwareSystems 2014-10-05 14:38:17

相关问题