如何获得图像按钮的尺寸在android中有意义?
首先,我可以说,我发现布置android UI是一个令人沮丧的体验?我曾经认为XML布局简单,干净,真棒,但每次我尝试做任何事情时,都会花几个小时尝试做最简单的事情!如何获得图像按钮的尺寸在android中有意义?
在这个特定的实例中,我试图制作一个简单的水平条,其中包含一个固定大小的图像按钮,在其右侧和左侧,我想要一个ImageView,它占用剩下的可用宽度。我一直在用户界面中看到类似的构造:搜索时出现在屏幕顶部的搜索框,文本区域和用于撰写文本/ googletalk消息的发送按钮等。
我试过了水平线性布局和相对布局,我无法让按钮在任何一个中都看起来很正确。我的最新尝试,具有以下布局代码:
它看起来像这样:
使用hiearchyviewer表明,无论是ImageView的和按钮有相同的高度(45px)。它显示的视图尺寸和位置正是我正在寻找的。相同的高度(当然,因为ImageView更宽,所以宽度不同)。它们紧挨着对方,以相对布局为中心。然而,屏幕上绘制的按钮显然不占用完整的ImageButton视图。我在想这是用于ImageButton背景的android系统9patch drawable的奇怪之处。但是我知道什么?无论我尝试什么,我都无法让它看起来正确。
你是如何设置RelativeLayout
的?尝试设置它是这样的:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="wrap_content">
<ImageButton android:layout_width="wrap_content" android:src="@drawable/icon" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:id="@+id/imgButton"></ImageButton>
<ImageView android:id="@+id/imageView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:src="@drawable/red_button" android:scaleType="fitXY" android:layout_alignBottom="@+id/imgButton" android:layout_alignTop="@+id/imgButton" android:layout_toLeftOf="@+id/imgButton"></ImageView>
</RelativeLayout>
希望这会有所帮助。
如果尺寸正是你在找的方式,那么在ImageButton和ImageView中,使用android:scaleType =“fitXY”并检查。
对于简单的情况,我可能会使用linearlayout水平方向与两个按钮在适当的权重。
你会认为这会很简单吗?我已经设法让按钮背景尺寸适合现在的尺寸,但是我无法将图片放在ImageButton中,它总是出现在顶部。我试过fitXY,它仍然不居中。 – rushinge 2011-03-12 21:08:55
正如我之前提到的那样,布局会导致层次结构查看器中视图的尺寸和位置正确,但按钮在设备上查看时仍然没有正确的尺寸。自从我决定为按钮背景制作我自己的9贴片可绘图,而且这似乎奏效了。它看起来像系统九贴片按钮可绘制在图像本身底部有一些填充。 – rushinge 2011-03-12 21:12:27