如何在Android中应用尺寸单位?

时间:2019-02-11 19:56:44

标签: android android-studio xamarin view units-of-measurement

在axml文件中添加视图时,可以简单地指定视图属性的大小和单位,例如:

<TextView
    android:TextSize = "10sp"
    android:layout_marginTop = "10dp" />

但是,通过编程方式应用尺寸时,尺寸sp的单位是什么? dp? px?

TextView tv = new TextView();
tv.TextSize = 10;

另外,如何转换单位?

2 个答案:

答案 0 :(得分:2)

spTextView.TextSize的默认设置:

  

将默认文本大小设置为给定值,以“缩放像素”为单位。此大小是根据当前密度和用户字体大小首选项进行调整的。

如果需要其他单位类型(SetTextSize),请使用ComplexUnitType方法:

textview.SetTextSize(ComplexUnitType.Px, 20);

答案 1 :(得分:1)

一个朋友刚刚回答我,默认情况下,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).
``