当添加在axml文件的图,它可以简单地指定大小和视图的属性的单元,例如:
<TextView
android:TextSize = "10sp"
android:layout_marginTop = "10dp" />
但是编程应用大小时,被应用于大小SP是什么单位? DP? PX?
TextView tv = new TextView();
tv.TextSize = 10;
另外,我怎么可以转换单位?
sp
是用于TextView.TextSize
默认:
设置默认文本大小为给定值,解释为“缩放像素”单位。这个大小是基于电流密度和用户字体大小preference.`来调整
如果你需要一个不同的单位类型(SetTextSize
)使用ComplexUnitType
方法:
textview.SetTextSize(ComplexUnitType.Px, 20);
朋友只是简单地回答我说,在默认情况下Android使用“SP”的文字大小和“PX”为视图大小,但它可能单位转换这样的:
TextView tv = new TextView();
tv.setTextSize(TypedValue.COMPLEX_UNIT_PX, 10); // Sets text in px (Pixel).
tv.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 10); // Sets text in dip (Device Independent Pixels).
tv.setTextSize(TypedValue.COMPLEX_UNIT_SP, 10); // Sets text in sp (Scaled Pixel).
tv.setTextSize(TypedValue.COMPLEX_UNIT_PT, 10); // Sets text in pt (Points).
tv.setTextSize(TypedValue.COMPLEX_UNIT_IN, 10); // Sets text in in (inches).
tv.setTextSize(TypedValue.COMPLEX_UNIT_MM, 10); // Sets text in mm (millimeters).
``