【发布时间】:2013-04-16 04:17:00
【问题描述】:
我正在为平板电脑开发一个应用程序,该应用程序直到最近才在 Nexus 7 (7.27'',800x1280:tvdpi) 的模拟器中进行了测试。一切都很好,直到我决定在不同的模拟器中测试该应用程序,该模拟器的创建类似于三星 Galaxy Note 2 (5.6'',720x1280:xhdpi),但看起来不太好。
例如,看看我正在使用的这个自定义警报对话框。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/dialog_layout_root"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:background="@color/light_gray">
<Button
android:id="@+id/facebook_login_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="40dp"/>
<TextView
android:id="@+id/or_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textIsSelectable="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:textSize="20sp"
android:textColor="@color/black"
android:layout_below="@id/facebook_login_button"/>
<TextView
android:id="@+id/sign_in_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textIsSelectable="true"
android:layout_marginLeft="10dp"
android:layout_marginTop="20dp"
android:textSize="20sp"
android:textColor="@color/gray"
android:layout_below="@id/or_text"/>
<EditText
android:id="@+id/login_email"
android:layout_width="320dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_below="@id/sign_in_text"
android:hint="@string/email_login"
android:inputType="textEmailAddress"/>
<EditText
android:id="@+id/login_password"
android:layout_width="320dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_below="@id/login_email"
android:hint="@string/pass_login"
android:inputType="textPassword"/>
<TextView
android:id="@+id/case_sensitive_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textIsSelectable="true"
android:layout_marginLeft="10dp"
android:layout_marginTop="20dp"
android:textSize="18sp"
android:textColor="@color/gray"
android:layout_below="@id/login_password"/>
<CheckBox
android:id="@+id/remember_login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:layout_below="@id/case_sensitive_text"/>
<Button
android:id="@+id/sign_in_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/remember_login"
android:layout_marginLeft="300dp"/>
<TextView
android:id="@+id/forget_password_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textIsSelectable="true"
android:layout_marginLeft="180dp"
android:textSize="18sp"
android:textColor="@color/black"
android:layout_below="@id/sign_in_button"/>
<View
android:id="@+id/horizontal_line"
android:layout_width="360dp"
android:layout_marginTop="20dp"
android:layout_height="1dp"
android:background="@android:color/darker_gray"
android:layout_below="@id/forget_password_text"/>
<TextView
android:id="@+id/new_app_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textIsSelectable="true"
android:textSize="18sp"
android:textColor="@color/black"
android:layout_below="@id/horizontal_line"/>
<TextView
android:id="@+id/create_account_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textIsSelectable="true"
android:textSize="18sp"
android:textColor="@color/gray"
android:layout_below="@id/new_app_text"/>
<Button
android:id="@+id/create_account_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/create_account_text"
android:layout_marginLeft="250dp"
android:layout_marginTop="10dp"/>
<TextView
android:id="@+id/terms_conditions_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textIsSelectable="true"
android:textSize="12sp"
android:textColor="@color/gray"
android:layout_below="@id/create_account_button"/>
<TextView
android:id="@+id/vertical_rule"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textIsSelectable="true"
android:textSize="12sp"
android:textColor="@color/gray"
android:layout_below="@id/create_account_button"
android:layout_toRightOf="@id/terms_conditions_text"/>
<TextView
android:id="@+id/privacy_policy_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textIsSelectable="true"
android:textSize="12sp"
android:textColor="@color/gray"
android:layout_below="@id/create_account_button"
android:layout_toRightOf="@id/vertical_rule"/>
</RelativeLayout>
如您所见,我使用的是相对布局,并且在任何地方都使用 dp 并使用 sp 作为字体大小。 如果您注意到警报对话框的背景,甚至片段都显示不正确。 你可以看这里:http://imageshack.us/g/692/tvdpi.jpg/
任何建议为什么会发生这种情况?
提前致谢。
【问题讨论】:
标签: android android-emulator android-screen-support