Android布局中的绝对定位

时间:2014-01-16 18:11:56

标签: android calendar

我有一个日历视图,我试图将每半小时和每小时的线条分开60和120 dp(mdpi)。在hdpi或xhdpi的设备上查看时,布局不会均匀分开。这是我的线条布局:

<?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>

如何在所有屏幕密度下正确显示?

1 个答案:

答案 0 :(得分:0)

您需要使用和创建值-mdpi,values-xhdpi和values-hdpi。然后使用维数设置您的保证金。

例如,在XML中:Accessing integer resources in xml

或在java中:How to set text size of textview dynamically for different screens