如何使ImageButtons边界环绕图像?

时间:2013-12-17 11:48:33

标签: android android-layout imagebutton

我正在为Android应用程序制作GUI,此GUI包含四个方向ImageButtons(请看下图):

enter image description here

但是当试图使它总是失败时,因为为每个图像保留了一个正方形,这就是我所达到的:

enter image description here

那是我的 XML代码

<LinearLayout
   android:id="@+id/circle"
   android:layout_weight="4"
   android:orientation="vertical"
   android:layout_marginTop="5dp"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content" >

         <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:orientation="vertical">

               <ImageButton
                 android:id="@+id/up"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_gravity="center"
                 android:adjustViewBounds="true"
                 android:background="@android:color/transparent"
                 android:clickable="true"
                 android:scaleType="centerInside"
                 android:src="@drawable/remote_button_up"/>

         </LinearLayout>

         <LinearLayout
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_gravity="center"
           android:orientation="horizontal">

              <ImageButton
                android:id="@+id/left"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="left"
                android:layout_marginRight="20dp"
                android:adjustViewBounds="true"
                android:background="@android:color/transparent"
                android:clickable="true"
                android:scaleType="centerInside"
                android:src="@drawable/remote_button_left"/>

              <ImageButton
                android:id="@+id/right"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="right"
                android:adjustViewBounds="true"
                android:layout_marginLeft="20dp"
                android:background="@android:color/transparent"
                android:clickable="true"
                android:scaleType="centerInside"
                android:src="@drawable/remote_button_right"/>

         </LinearLayout>

         <LinearLayout
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_gravity="center"
          android:orientation="vertical">

              <ImageButton
                android:id="@+id/down"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:background="@android:color/transparent"
                android:clickable="true"
                android:scaleType="centerInside"
                android:src="@drawable/remote_button_down"/>

        </LinearLayout>

</LinearLayout>

1 个答案:

答案 0 :(得分:7)

有一个解决方法..你可以这样做...... enter image description here

在这里你创建一个更大的布局(红色)并立即放置整个图像...现在创建更多布局(黄色)并且不要在它们上面添加任何背景。现在在这些布局上设置onclicklisteners ...由此你可以在某种程度上实现它......希望你能帮我......