简体   繁体   English

在布局Android中的绝对定位

[英]Absolute positioning in layout Android

I have a calendar view and I am trying to get the lines denoting every half-hour and every hour to be spaced 60 and 120 dp apart (for mdpi). 我有一个日历视图,我试图将表示每半小时和每小时的行间隔为60 dp和120 dp(对于mdpi)。 When viewed on a devices that is hdpi or xhdpi the layout is not spaced evenly apart. 在hdpi或xhdpi的设备上查看时,布局的间距不均匀。 Here is my layout for the lines: 这是我的线条布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/calDemarcations"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <View android:id="@+id/currTime"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_width="fill_parent"
        android:layout_height="2dp"
        android:background="#FF0000" />

    <View android:layout_marginTop="60dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_width="fill_parent"
        android:layout_height="0.5dp"
        android:background="#000000" />

    <View android:id="@+id/calFirstDemarc"
        android:layout_marginTop="55.5dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_width="fill_parent"
        android:layout_height="3dp"
        android:background="#000000"/>

    <View android:layout_marginTop="60dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_width="fill_parent"
        android:layout_height="0.5dp"
        android:background="#000000" />

    <View android:layout_marginTop="55.5dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_width="fill_parent"
        android:layout_height="3dp"
        android:background="#000000"/>

    <View android:layout_marginTop="60dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_width="fill_parent"
        android:layout_height="0.5dp"
        android:background="#000000" />

    <View android:layout_marginTop="55.5dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_width="fill_parent"
        android:layout_height="3dp"
        android:background="#000000"/>

    <View android:layout_marginTop="60dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_width="fill_parent"
        android:layout_height="0.5dp"
        android:background="#000000" />

    <View android:layout_marginTop="55.5dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_width="fill_parent"
        android:layout_height="3dp"
        android:background="#000000"/>

    <View android:layout_marginTop="60dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_width="fill_parent"
        android:layout_height="0.5dp"
        android:background="#000000" />

    <View android:layout_marginTop="55.5dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_width="fill_parent"
        android:layout_height="3dp"
        android:background="#000000"/>

    <View android:layout_marginTop="60dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_width="fill_parent"
        android:layout_height="0.5dp"
        android:background="#000000" />

    <View android:layout_marginTop="55.5dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_width="fill_parent"
        android:layout_height="3dp"
        android:background="#000000"/>

    <View android:layout_marginTop="60dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_width="fill_parent"
        android:layout_height="0.5dp"
        android:background="#000000" />

    <View android:layout_marginTop="55.5dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_width="fill_parent"
        android:layout_height="3dp"
        android:background="#000000"/>

    <View android:layout_marginTop="60dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_width="fill_parent"
        android:layout_height="0.5dp"
        android:background="#000000" />

    <View android:layout_marginTop="55.5dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_width="fill_parent"
        android:layout_height="3dp"
        android:background="#000000"/>

    <View android:layout_marginTop="60dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_width="fill_parent"
        android:layout_height="0.5dp"
        android:background="#000000" />

    <View android:layout_marginTop="55.5dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_width="fill_parent"
        android:layout_height="3dp"
        android:background="#000000"/>

    <View android:layout_marginTop="60dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_width="fill_parent"
        android:layout_height="0.5dp"
        android:background="#000000" />

    <View android:id="@+id/calLastD"
        android:layout_marginTop="55.5dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_width="fill_parent"
        android:layout_height="3dp"
        android:background="#000000"/>

    <View android:layout_marginTop="60dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_width="fill_parent"
        android:layout_height="0.5dp"
        android:background="#000000" />

</LinearLayout>

How would I get this to display properly across all screen densities? 我如何才能在所有屏幕密度上正确显示该图像?

You need to use and create values-mdpi, values-xhdpi and values-hdpi. 您需要使用和创建值-mdpi,值-xhdpi和值-hdpi。 Then set your margin using the dimen. 然后使用dimen设置边距。

For example in XML: Accessing integer resources in xml 例如在XML中: 在xml中访问整数资源

or in java: How to set text size of textview dynamically for different screens 或在Java中: 如何为不同的屏幕动态设置textview的文本大小

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM