Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何获取图像按钮';在安卓系统中有什么意义?_Android_Layout_Position_Imagebutton_Dimensions - Fatal编程技术网

Android 如何获取图像按钮';在安卓系统中有什么意义?

Android 如何获取图像按钮';在安卓系统中有什么意义?,android,layout,position,imagebutton,dimensions,Android,Layout,Position,Imagebutton,Dimensions,首先,我可以说,我发现布置android UI是一种令人沮丧的体验吗?我曾经认为XML布局简单、干净、棒极了,但每次我尝试用它做任何事情时,我都会花上几个小时尝试做最简单的事情 在这个特殊的例子中,我试图制作一个简单的水平条,在它的右边和左边包含一个固定大小的图像按钮,我想要一个占据剩余可用宽度的ImageView。我一直在UI中看到类似的结构:搜索时出现在屏幕顶部的搜索框,用于编写文本/谷歌对话消息的文本区域和发送按钮,等等 我尝试了水平线性布局和相对布局,但两种布局中的按钮都无法正确显示。我

首先,我可以说,我发现布置android UI是一种令人沮丧的体验吗?我曾经认为XML布局简单、干净、棒极了,但每次我尝试用它做任何事情时,我都会花上几个小时尝试做最简单的事情

在这个特殊的例子中,我试图制作一个简单的水平条,在它的右边和左边包含一个固定大小的图像按钮,我想要一个占据剩余可用宽度的ImageView。我一直在UI中看到类似的结构:搜索时出现在屏幕顶部的搜索框,用于编写文本/谷歌对话消息的文本区域和发送按钮,等等

我尝试了水平线性布局和相对布局,但两种布局中的按钮都无法正确显示。我最近的尝试具有以下布局代码:

看起来是这样的:

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


使用HierarchyView表示imageview和按钮具有相同的高度(45px)。它显示的视图尺寸和位置正是我想要的。高度相同(当然宽度不同,因为ImageView要宽得多)。它们紧靠在一起,以相对布局为中心。然而,屏幕上绘制的按钮显然没有占据完整的ImageButton视图。我觉得android系统9patch drawable用于ImageButton背景有些奇怪。但我知道什么?无论我怎么尝试,我都无法使它看起来正确。

您是如何设置您的
相对值的?试着这样设置:

<?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,但它仍然没有居中。该布局会为层次结构查看器中的视图提供正确的尺寸和位置,正如我前面提到的,但在设备上查看时,按钮仍然没有正确的尺寸。从那以后,我决定为按钮背景制作自己的九块补丁,这似乎奏效了。看起来system nine patch button drawable在图像本身的底部有一些填充。