Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android在多种屏幕尺寸上使用边距大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
嗨,我已经创建了一个应用程序,我希望在多个屏幕上运行我在HDPi上构建了整个事物.当我在一个更大屏幕的更新的 Android手机上运行它时,对齐的东西就出来了.我知道这是因为我设置了使用DP定位的边距.

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

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

这是我布局的一个例子

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://scheR_298_11845@as.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的全部意义在于您不必担心这一点.不同设备的边距大致相同,但如果您依赖于某个特定设备分辨率/密度组合的@L_674_8@,那么当您在其他设备上进行测试时,您肯定会感到惊讶.

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

<resources
    xmlns:android="http://scheR_298_11845@as.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在多种屏幕尺寸上使用边距所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。