布局剪裁/忽略xhdpi / xxhdpi上的填充

时间:2014-06-30 17:56:11

标签: android android-layout

对于我的应用主菜单,我在RelativeLayout中有一个CircleLayout。它会在所有设备上显示,除了具有xhdpi或xxhdpi屏幕的设备,其中显示填充/边距(尝试两者),但CircleLayout比其父设备大并且被裁剪。知道高dpi设备有什么不同的做法吗?提前致谢 ! :)

在左边的Nexus S上工作应该是什么样子,右边是Nexus 5:here

activity_main.xml中:

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
tools:context=".MainActivity" >



<com.ericzim.dbtbuddy.Layout.CircleLayout
    android:id="@+id/main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_centerInParent="true"

    >

    <include
        android:id="@+id/buttonMe"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        layout="@layout/button_round"
        />

    <include
        android:id="@+id/buttonSleep"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        layout="@layout/button_round" />

    <include
        android:id="@+id/buttonStress"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        layout="@layout/button_round" />

    <include
        android:id="@+id/buttonAnger"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        layout="@layout/button_round" />

    <include
        android:id="@+id/buttonFear"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        layout="@layout/button_round" />

    <include
        android:id="@+id/buttonMemories"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        layout="@layout/button_round" />

    <include
        android:id="@+id/buttonSkills"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        layout="@layout/button_round" />

    <include
        android:id="@+id/buttonResources"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        layout="@layout/button_round" />
</com.ericzim.dbtbuddy.Layout.CircleLayout>

<com.ericzim.dbtbuddy.Layout.CircleLayout
    android:id="@+id/menuMe"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_centerInParent="true"
    android:visibility="invisible"
    app:angleRange="-180" >

    <include
        android:id="@+id/buttonSelfWorth"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        layout="@layout/button_round" />

    <include
        android:id="@+id/buttonSecurity"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        layout="@layout/button_round" />

    <include
        android:id="@+id/buttonHelpfulImages"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        layout="@layout/button_round" />

    <include
        android:id="@+id/buttonMindfulness"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        layout="@layout/button_round" />
</com.ericzim.dbtbuddy.Layout.CircleLayout>

<RelativeLayout
    android:id="@+id/MenuButtonBack"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_centerVertical="true"
    android:paddingLeft="15dp"
    android:visibility="invisible" >

    <include
        android:id="@+id/buttonBack"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        layout="@layout/button_round" />
</RelativeLayout>

<include
    android:id="@+id/buttonEmergency"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    layout="@layout/button_round" />



</RelativeLayout>

将activity_horizo​​ntal_margin设置为20dp。

包含的是RelativeLayouts,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_height="wrap_content" 
  android:layout_width="wrap_content">
<ImageView  
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true"
    android:id="@+id/test_button_image"
    android:paddingLeft="1dp"
    android:paddingRight="1dp">
 </ImageView>

<TextView
    android:id="@+id/test_button_text2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_below="@+id/test_button_image"
    android:gravity="center"
    android:textAlignment="center"
    android:text=""
    >
</TextView>

</RelativeLayout>

1 个答案:

答案 0 :(得分:0)

你应该仔细看看dp。 dp(也称为dip)是与密度无关的像素。这实际上意味着它将在不同的分辨率屏幕上显示不同。您可以创建布局,就像您可绘制为特定密度,命名它们并将它们分布在不同的密度布局文件夹中..默认情况下,android将选择具有最接近匹配分辨率的布局..