0

我有一个经典的 android 问题,但我无法解决它。

我有一个imageButton,但它变形了,高度比它应该的大,这是代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background"
>
<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="1"
    android:gravity="center"
    android:orientation="vertical" >

      <!-- other content -->
    
     </LinearLayout>
     
     <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >
     
        <ImageButton
            android:id="@+id/sabadell_but"
            android:background="@drawable/banner_sabadell"
            android:contentDescription="@string/infoDesc"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom" />
       </LinearLayout>

    </LinearLayout>

这是我应该看到的:

在此处输入图像描述

这就是我所看到的:

在此处输入图像描述

我该如何解决这个问题?

4

2 回答 2

2

那是因为您将图像用作背景,因此应该将其用作源:

android:src="@drawable/banner_sabadell"

如果您对不同屏幕的尺寸有一些问题,您将不得不使用 scale_type 属性

 android:scaleType="fitXY" /// or some others

你最好从你的横幅上制作一个 9patch 图像.. 是的,舒尔......你必须这样做:

android:background="#00000000"

或者

android:background="@android:color/transparent"
于 2013-04-30T07:53:48.407 回答
1

尝试使用scaleType = "fitCentre". 在此之前设置高度宽度wrap_content

此链接还可以帮助您确定要使用的秤类型。

于 2013-04-30T07:51:54.520 回答