Android不同大小的按钮在不同的屏幕上,布局找不到* dpi文件夹

时间:2014-09-10 11:17:27

标签: android image button layout size

我将不同大小的图像(ImageButtons)放到xxdpi,xdpi,hdpi,mdpi。创建了不同的布局文件夹。 layout,layout-normal,layout-large,layout-xlarge。并在每个中使用Imagebuttons来公开main.xml。但是Imagebuttons在每个布局分辨率中看起来都是相同的大小(hdpi)。什么错了?

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/normal_login"
tools:context="${relativePackage}.${activityClass}" >

    <EditText
        android:id="@+id/edLogin"
        android:layout_width="380dp"
         android:layout_height="45dp"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="176dp"
        android:ems="10"
        android:hint="@string/login_help" />

    <EditText
        android:id="@+id/edBirth"
        android:layout_width="246dp"
        android:layout_height="45dp"
        android:layout_alignLeft="@+id/edLogin"
        android:layout_alignRight="@+id/edLogin"
        android:layout_below="@+id/edLogin"
        android:ems="10"
        android:hint="@string/birth" />

    <EditText
        android:id="@+id/edPass"
        android:layout_width="246dp"
         android:layout_height="45dp"
        android:layout_alignLeft="@+id/edBirth"
        android:layout_alignRight="@+id/edBirth"
        android:layout_below="@+id/edBirth"
        android:ems="10"
        android:hint="@string/pass" />

    <ImageButton
        android:id="@+id/btCancel"
        android:layout_width="180dp"
        android:layout_height="60dp"
        android:layout_alignLeft="@+id/edPass"
        android:layout_centerVertical="true"
        android:src="@drawable/login_bt_cancel" />

    <ImageButton
        android:id="@+id/btOk"
        android:layout_width="180dp"
        android:layout_height="60dp"
        android:layout_alignRight="@+id/edPass"
        android:layout_alignTop="@+id/btCancel"
        android:background="@null"
        android:src="@drawable/login_bt_ok" />

    <Button
        android:id="@+id/btRecover"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@+id/btOk"
        android:layout_below="@+id/btOk"
        android:layout_marginTop="26dp"
        android:background="@null"
        android:text="Recover Password"
        android:textColor="#ff0000"
        android:textSize="15dp" />

</RelativeLayout>

3 个答案:

答案 0 :(得分:0)

您应该将以下内容添加到Manifest.xml文件中:

<supports-screens android:smallScreens="true" 
  android:normalScreens="true" 
  android:largeScreens="true"
  android:xlargeScreens="true"
  android:anyDensity="true" />

答案 1 :(得分:0)

你应该使用drawable-xxhdpi,drawable-xhdpi,drawable-hdpi,drawable-mdpi

答案 2 :(得分:0)

 android:layout_width="180dp"
 android:layout_height="60dp"

请将它设置为包装内容。 您将修复大小定义为imageButton,因此您无法在其他移动设备中看到不同大小的图像

change to this
android:layout_width="wrap_content"
android:layout_height="wrap_content"