我想在我的应用中设置文字大小。我创建了不同的layouts (layout, layout-small, layout-normal, layout-large, layout-xlarge)
和values (values, values-ldpi, values-mdpi, values-nodpi, values-hdpi, values-xhdpi)
。但问题是仿真器中的某些设备具有不同的大小但具有相同的dpi。所以我很少混淆如何在dimens
中编写不同的文本大小,具体取决于屏幕大小而不是dpi值。它的工作原理如何?
我认为取决于设备大小android选择布局然后根据dpi选择值。它是否正确?
编辑 -
我的应用中有一个活动可以显示文字。我滚动文字。我将值大小设置为值-mdpi。但是,当我在模拟器3.2"QVGA(ADP2)(320 x 480:mdpi)
上运行我的应用程序时滚动文本工作。但是,当我在模拟器5.1"WVGA(480 x 800:mdpi)
上运行我的应用程序时,所有文本都在半屏幕上。我希望大屏幕上的文字大小虽然属于mdpi
。
答案 0 :(得分:2)
是的,这是对的。根据设备屏幕大小和规格,android会自动加载所需的布局及其所有元素和字体。
答案 1 :(得分:1)
style="@android:style/TextAppearance.DeviceDefault.Medium"
答案 2 :(得分:1)
无需创建所有布局,只需查看此示例,它对我有用
Note :textviewtwo.setTextSize(TypedValue.COMPLEX_UNIT_PX,
getResources().getDimension(R.dimen.textsize));
http://polamreddyn.blogspot.in/2014/01/adjust-text-size-in-all-android-devices.html