android在多种屏幕尺寸上使用边距

android在多种屏幕尺寸上使用边距,第1张

概述嗨,我已经创建了一个应用程序,我希望在多个屏幕上运行我在HDPi上构建了整个事物.当我在一个更大屏幕的更新的 Android手机上运行它时,对齐的东西就出来了.我知道这是因为我设置了使用DP定位的边距. 我的问题是在多种屏幕尺寸上使用边距的最佳做法和/或是否有一些我可以根据屏幕尺寸划分/倍增DP的代码? 我想要尽可能多的设备获取应用程序.但这是我的第一个应用程序,所以不完全确定如何做到这一点.所以 嗨,我已经创建了一个应用程序,我希望在多个屏幕上运行我在HDPi上构建了整个事物.当我在一个更大屏幕的更新的 Android手机上运行它时,对齐的东西就出来了.我知道这是因为我设置了使用DP定位的边距.

我的问题是在多种屏幕尺寸上使用边距的最佳做法和/或是否有一些我可以根据屏幕尺寸划分/倍增DP的代码?

我想要尽可能多的设备获取应用程序.但这是我的第一个应用程序,所以不完全确定如何做到这一点.所以任何帮助将不胜感激.

这是我布局的一个例子

<?xml version="1.0" enCoding="utf-8"?><relativeLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"    androID:layout_wIDth="fill_parent"    androID:layout_height="20dip"    androID:background="@drawable/bg_tablecell"    androID:orIEntation="horizontal"    androID:weightSum="1"     >       <TextVIEw        androID:ID="@+ID/position"        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:layout_gravity="center_horizontal"        androID:layout_centerVertical="true"        androID:paddingleft="4dip"        androID:text="@string/POS"        androID:textSize="15dip"        androID:textcolor="@color/blue"         />    <TextVIEw        androID:ID="@+ID/Teamname"        androID:layout_wIDth="90dip"        androID:layout_height="wrap_content"        androID:layout_marginleft="23dip"        androID:ellipsize="end"        androID:gravity="left"        androID:lines="1"        androID:text="@string/Team"        androID:textcolor="@color/blue"        androID:textSize="15dip"        androID:textStyle="bold"         androID:layout_centerVertical="true"/>    <TextVIEw        androID:ID="@+ID/played"        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:layout_alignBaseline="@+ID/Teamname"        androID:layout_alignBottom="@+ID/Teamname"        androID:layout_marginleft="35dip"        androID:layout_toRightOf="@+ID/Teamname"        androID:gravity="center"        androID:text="@string/Zero"        androID:textcolor="@color/blue"        androID:textSize="10dip"         androID:layout_centerVertical="true"/>    <TextVIEw        androID:ID="@+ID/won"        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:layout_alignBaseline="@+ID/played"        androID:layout_alignBottom="@+ID/played"        androID:layout_marginleft="17dip"        androID:layout_toRightOf="@+ID/played"        androID:gravity="center"        androID:text="@string/Zero"        androID:textcolor="@color/blue"        androID:textSize="10dip"         androID:layout_centerVertical="true"/>    <TextVIEw        androID:ID="@+ID/drawn"        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:layout_alignBaseline="@+ID/won"        androID:layout_alignBottom="@+ID/won"        androID:layout_marginleft="16dip"        androID:layout_toRightOf="@+ID/won"        androID:gravity="center"        androID:text="@string/Zero"        androID:textcolor="@color/blue"        androID:textSize="10dip"         androID:layout_centerVertical="true"/>    <TextVIEw        androID:ID="@+ID/lost"        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:layout_alignBaseline="@+ID/drawn"        androID:layout_alignBottom="@+ID/drawn"        androID:layout_marginleft="16dip"        androID:layout_toRightOf="@+ID/drawn"        androID:gravity="center"        androID:text="@string/Zero"        androID:textcolor="@color/blue"        androID:textSize="10dip"         androID:layout_centerVertical="true"/>    <TextVIEw        androID:ID="@+ID/goalsFor"        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:layout_alignBaseline="@+ID/lost"        androID:layout_alignBottom="@+ID/lost"        androID:layout_marginleft="16dip"        androID:layout_toRightOf="@+ID/lost"        androID:gravity="center"       androID:text="@string/Zero"        androID:textcolor="@color/blue"        androID:textSize="10dip"         androID:layout_centerVertical="true"/>    <TextVIEw        androID:ID="@+ID/goalsAgainst"        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:layout_alignBaseline="@+ID/goalsFor"        androID:layout_alignBottom="@+ID/goalsFor"        androID:layout_marginleft="17dip"        androID:layout_toRightOf="@+ID/goalsFor"        androID:gravity="center"        androID:text="@string/Zero"        androID:textcolor="@color/blue"        androID:textSize="10dip"         androID:layout_centerVertical="true"/>    <TextVIEw        androID:ID="@+ID/Difference"        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:layout_alignBaseline="@+ID/goalsAgainst"        androID:layout_alignBottom="@+ID/goalsAgainst"        androID:layout_marginleft="15dip"        androID:layout_toRightOf="@+ID/goalsAgainst"        androID:gravity="center"        androID:text="@string/Zero"        androID:textcolor="@color/blue"        androID:textSize="10dip"         androID:layout_centerVertical="true"/>    <TextVIEw        androID:ID="@+ID/points"        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:layout_alignBaseline="@+ID/Difference"        androID:layout_alignBottom="@+ID/Difference"        androID:layout_marginleft="18dip"        androID:layout_toRightOf="@+ID/Difference"        androID:gravity="center"        androID:text="@string/Zero"        androID:textcolor="@color/blue"        androID:textSize="10dip"         androID:layout_centerVertical="true"/>

屏幕hdpi

屏幕xhdpi

解决方法 那么使用DP的全部意义在于您不必担心这一点.不同设备的边距大致相同,但如果您依赖于某个特定设备分辨率/密度组合的内容,那么当您在其他设备上进行测试时,您肯定会感到惊讶.

也就是说,如果您确实需要为不同的屏幕大小指定不同的边距,只需在res / values中添加一个XML文件 – 类似dimens.xml:

<resources    xmlns:androID="http://schemas.androID.com/apk/res/androID"    >    <dimen name="my_vIEw_margin">10dip</dimen></resources>

然后为您需要的每个特定设备限定符添加其中一个XML(例如,value-large,values-sw600dp,values-xlarge等),并根据需要修改该值.如果要在布局中使用这些尺寸,只需使用:

androID:layout_margin="@dimen/my_vIEw_margin"

AndroID会为正在运行的任何设备选择正确的值.

总结

以上是内存溢出为你收集整理的android在多种屏幕尺寸上使用边距全部内容,希望文章能够帮你解决android在多种屏幕尺寸上使用边距所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1123097.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存