Android样式

时间:2014-06-13 19:26:00

标签: android android-layout android-linearlayout

我有一个线性布局内的图像。图像的大小很小,因此它不会覆盖整个屏幕。我希望图像放在屏幕的中央。我使用了以下代码:

<LinearLayout
    android:id="@+id/ll4"
    android:layout_height="50dp"
    android:layout_width="match_parent"
    android:orientation="horizontal" >

    <ImageView
        android:id="@+id/exit"
        android:layout_width="match_parent"           
        android:layout_height="wrap_content"
        android:onClick="exitApplication"
        android:contentDescription="exit"           
        android:layout_gravity="center_horizontal"
        android:gravity="center"
        android:src="@drawable/exitbutton" >
    </ImageView>
</LinearLayout>

但我面临的问题是,如果我在图像的两侧水平点击任何地方,就会调用onClick函数。我怎么能解决这个问题?

4 个答案:

答案 0 :(得分:2)

imageView的宽度设为wrapcontent并将gravity设为linearLayout

尝试以下数据:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/ll4"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:orientation="horizontal"
    android:gravity="center_horizontal" >

    <ImageView
        android:id="@+id/exit"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:contentDescription="exit"
         android:onClick="exitApplication"
        android:src="@drawable/dolphin1" />

</LinearLayout>

希望这有效

答案 1 :(得分:0)

如评论中所述,您的图像占据了屏幕的整个宽度。要解决此问题,您必须将其用于ImageView

android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_centerInParent="true"

并使用RelativeLayout作为主要布局。

答案 2 :(得分:0)

这就是你要找的东西:

LinearLayout

<LinearLayout
    ...
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:orientation="horizontal" >

布局应该(定期)填满屏幕。这就是我们将layout_heightlayout_width属性设置为match_parent的原因。

ImageView

<ImageView>
    ...
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
</ImageView>

ImageView应具有特定的宽度大小或设置为wrap_content,否则使用match_parent将填充父级的宽度。由于我们在布局和图像之间有可用空间,因此layout_gravity属性会将ImageView置于布局内部,与布局的大小相同。

答案 3 :(得分:0)

Try this way,hope this will help you to solve your problem.

 <LinearLayout
        android:id="@+id/ll4"
        android:layout_height="match_parent"
        android:layout_width="match_parent"
        android:gravity="center">

        <ImageView
            android:id="@+id/exit"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="exitApplication"
            android:contentDescription="exit"
            android:adjustViewBounds="true"
            android:src="@drawable/exitbutton" >
        </ImageView>
  </LinearLayout>