根据此video
如果我想创建一些元素,在具有不同dpi(手机,平板电脑,电视)的设备上看起来必须相同。
如视频所示(4:52),我必须在dp中指定此元素的尺寸。
但我得到了这个(Redmi Note vs Redmi 1s(两者都是android 4.2.2)):
(我使用IntelliJ Idea 14)
以下是我的活动代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world"
android:textSize="60sp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="200dp"
android:background="#ff080808">
</LinearLayout>
<Button
android:id="@+id/button"
android:layout_width="150dp"
android:layout_height="150dp"
android:text="New Button"/>
</LinearLayout>
问题:
为什么手机线路高度不匹配?
为什么小屏幕上的按钮较小?
答案 0 :(得分:0)
你会用
sp表示字体大小
在其他地方输入代码。
浸== DP
<强> DP 强>
与密度无关的像素 - 一种基于密度的抽象单位 屏幕的物理密度。这些单位相对于160 dpi 屏幕,所以一个dp是160 dpi屏幕上的一个像素。比例 dp-to-pixel将随屏幕密度而变化,但不一定如此 按比例分配。注意:编译器同时接受“dip”和“dp”, 虽然“dp”与“sp”更为一致。