我使用模拟器显示Android应用程序并设置density = mdpi。将密度从mdpi更改为hdpi后,我认为按钮看起来像小尺寸,但实际上当我设置density = hdpi时按钮看起来更大,为什么?谢谢!
密度= mdpi:https://dl.dropboxusercontent.com/u/209352/low.PNG
密度= hdpi:https://dl.dropboxusercontent.com/u/209352/High.PNG
设置:https://dl.dropboxusercontent.com/u/209352/set.PNG
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<Spinner
android:id="@+id/spinnerMsgFolder"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:paddingLeft="8dip"
/>
<TextView
android:id="@+id/textTotalTitle"
android:layout_width="100dip"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/spinnerMsgFolder"
android:layout_toRightOf="@id/spinnerMsgFolder"
android:gravity="right"
android:paddingBottom="8dip"
android:text="@string/totalAndSelectedTitle" >
</TextView>
<TextView
android:id="@+id/textTotalValue"
android:layout_width="100dip"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/spinnerMsgFolder"
android:layout_toRightOf="@id/textTotalTitle"
android:gravity="left"
android:paddingLeft="6dip"
android:paddingBottom="8dip"
android:text="0/1" >
</TextView>
<CheckBox
android:id="@+id/chAll"
android:layout_width="40dip"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/spinnerMsgFolder"
android:layout_alignParentRight="true"
/>
</RelativeLayout>
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:background="#DDDDDD"
android:layout_weight="1" />
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/btnToEmail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="To Email" />
<TextView
android:id="@+id/edit"
android:layout_width="80dip"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/btnToEmail"
android:gravity="center_horizontal"
android:text="Test" >
</TextView>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:text="Exit" />
</RelativeLayout>
</LinearLayout>
答案 0 :(得分:0)
我的猜测是,当您更改密度时,不会增加像素数。资源系统将扩展使用“dip”或“dp”指定的所有维度。 (顺便说一句,“dip”已弃用 - 您应该使用“dp”代替。)
如果您有两个真实设备,其大小完全相同(英寸),但其中一个是mdpi,另一个是hdpi,则像素数会增加,但由于自动缩放,按钮的大小将完全相同。如果您在“px”中指定尺寸,则不会发生此缩放,并且较高密度的屏幕将显示较小的按钮,如上所述。