【发布时间】:2018-11-14 10:53:44
【问题描述】:
我正在为应用程序创建布局,但问题是布局在所有大型设备上都很完美,但不适用于 hdpi。所以我想为布局创建单独的 hdpi 文件夹。我选择 android 资源目录并选择密度作为 hdpi 但不适用于仅 hdpi 设备。我也尝试了尺寸和屏幕宽度,但没有工作。你能帮我改进一下吗?
布局代码
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorPrimary">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/combine_bg"
android:layout_marginTop="@dimen/dp20"
android:layout_marginBottom="@dimen/dp20"
android:layout_marginRight="@dimen/dp20">
<TextView
android:id="@+id/txtWelcomeTo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/welcome_to"
android:layout_marginTop="@dimen/dp170"
android:layout_marginLeft="@dimen/dp10"
android:textSize="@dimen/dp15"
android:textColor="@android:color/black" />
<TextView
android:id="@+id/txtPrivateCare"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/the_private_care_masters"
android:layout_marginLeft="@dimen/dp10"
android:textStyle="bold"
android:textColor="@android:color/black"
android:layout_below="@id/txtWelcomeTo" />
<EditText
android:id="@+id/etemail"
android:layout_width="@dimen/dp190"
android:layout_height="wrap_content"
android:layout_below="@id/txtPrivateCare"
android:layout_marginLeft="@dimen/dp10"
android:hint="@string/email_phone"
android:layout_marginTop="@dimen/dp20" />
<EditText
android:id="@+id/etPassword"
android:layout_width="@dimen/dp190"
android:layout_height="wrap_content"
android:layout_below="@id/etemail"
android:layout_marginLeft="@dimen/dp10"
android:layout_marginTop="@dimen/dp10"
android:hint="@string/password"
/>
<ImageButton
android:id="@+id/loginButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/login_btn"
android:background="@android:color/transparent"
android:layout_below="@id/etemail"
android:layout_marginLeft="@dimen/dp25"
android:layout_toRightOf="@id/etemail" />
<CheckBox
android:id="@+id/chkRememberMe"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/etPassword"
android:layout_marginLeft="@dimen/dp10"
android:layout_marginTop="@dimen/dp10"
android:text="@string/remember_me"
android:textSize="@dimen/dp12"
/>
<TextView
android:id="@+id/txtForgotPwd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/chkRememberMe"
android:text="@string/forgot_pwd"
android:layout_below="@id/etPassword"
android:layout_marginTop="@dimen/dp17"
android:textSize="@dimen/dp12"
android:layout_marginLeft="@dimen/dp15"
/>
<TextView
android:id="@+id/txtSignUp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/not_have_account"
android:layout_below="@id/txtForgotPwd"
android:layout_marginTop="@dimen/dp30"
android:textSize="@dimen/dp12"
android:layout_marginLeft="@dimen/dp15"
/>
</RelativeLayout>
</RelativeLayout>
以及我要创建的 .psd 的屏幕截图
还有我在 hdpi 设备上的布局:
我该如何解决这个问题,请帮忙
dimens.xml
<dimen name="dp1">1dp</dimen>
<dimen name="dp2">2dp</dimen>
<dimen name="dp3">3dp</dimen>
<dimen name="dp4">4dp</dimen>
dimens.xml-大
<dimen name="dp1">1.5dp</dimen>
<dimen name="dp2">3.0dp</dimen>
<dimen name="dp3">4.5dp</dimen>
<dimen name="dp4">6.0dp</dimen>
dimes.xml - xlarge
<dimen name="dp1">2.0dp</dimen>
<dimen name="dp2">4.0dp</dimen>
<dimen name="dp3">6.0dp</dimen>
【问题讨论】:
-
您使用
sp或ssp设置文本大小吗?? -
请发布您的
dimens.xml文件。 -
@AndréSousa 检查我编辑的代码
-
@MohammadAli 我使用 dp 作为文本大小
-
请使用
ssp的文本大小和任何其他东西,如边距、填充,使用sdp这两件事你可以找到图书馆 @mishti
标签: android android-studio android-layout android-fragments android-intent