2012-05-17 59 views
5

这里我开发了一个Android应用程序,它可以在所有屏幕尺寸和分辨率设备上运行。但有一个问题是我的TextView's Fontsize在所有屏幕尺寸上都是相同的。我想根据不同的ScreenSize和屏幕分辨率更改FontSize根据不同分辨率和ScreenSize的TextView字体大小

在此先感谢。

+0

把一些代码,所以我们会知道。 –

+1

检查[http://stackoverflow.com/questions/10595795/button-and-size-of-text/10596355#10596355](http://stackoverflow.com/questions/10595795/button-and-size-of-文字/ 10596355#10596355) – silwar

+0

1.使用** sp ** 2.检查http://stackoverflow.com/questions/2617266/how-to-adjust-text-font-size-to-fit-textview –

回答

0

做到这一点的一种方法是在res文件夹中创建必要的文件夹,如布局大,布局小,布局正常,布局大小。并把你个XML到这些文件夹,然后更改任何你想要的文本视图和什么做

2

首先,如果你还没有这样做的话,你应该阅读这

http://developer.android.com/guide/practices/screens_support.html

提供任何资源,包括样式,可以适用于文字,你应该阅读部分Using configuration qualifiers

这里的另一个有用的文件http://developer.android.com/guide/topics/resources/more-resources.html#Dimension应该可以帮助您与文本选择措施的权利单位,最好要使用SP的中摘录的解释:

SP

量表无关的像素 - 这是像DP单元,但它也由用户的字体大小偏好缩放。建议您在指定字体大小时使用本机,因此将根据屏幕密度和用户偏好调整 。

希望有所帮助。

0

您应该使用sp单位的字体大小而不是dipdpsp是根据屏幕像素密度自行调整自身比例的独立像素。这里是确切的区别。

DP

密度独立像素 - 即是基于屏幕的物理密度的抽象单元。这些单位相对于160 dpi屏幕,所以一个dp是160 dpi屏幕上的一个像素。 dp与像素的比率将随着屏幕密度而变化,但不一定成正比。注意:编译器同时接受“dip”和“dp”,但“dp”与“sp”更加一致。

SP
量表无关的像素 - 这是像DP单元,但它也由用户的字体大小偏好缩放。建议您在指定字体大小时使用本机,以便根据屏幕密度和用户偏好进行调整。

4

Screen Category使用代码或使用getSize()方法,如:

Display display = getWindowManager().getDefaultDisplay(); 
Point size = new Point(); 
display.getSize(size); 
int width = size.x; 
int height = size.y; 

描述here得到屏幕大小和,然后设置字体大小相应地使用setTextSize()方法,你也可以考虑使用sp单位字体大小。

-3

转到你的XML文件,并添加TEXTSIZE为:

android:textSize="20sp" 

这将增加字体大小

1

嗨创建的文件夹,如下面的资源文件夹,然后将其XML文件复制现在你可以检查调色板窗口,它会显示不同尺寸的屏幕,基于你可以修改屏幕尺寸。

布局大,布局小,布局XLARGE,

现在,它支持所有类型的屏幕尺寸和您的字体大小将明确根据屏幕大小。有关支持多屏幕的更多信息,请查看android documentation

1

自动通过使用此代码

Display display; 
Point size; 
int width, height; 
float txtsize; 

申报调整字体大小为每屏和在使用的OnCreate()

display = getWindowManager().getDefaultDisplay(); 
     size = new Point(); 
     display.getSize(size); 
     width = size.x; 
     height = size.y; 
     txtsize=height*0.024f; 

/*如果你的屏幕高度是854及其使用的字体大小20.4 */

设置大小为textview只使用此代码..

textView.setTextSize(txtsize); 
相关问题