我想让位图的一部分可点击,我的布局如下:
________________________________
| ##### |
| ##### |
| ___________________ |
| | | |
| | | |
| | image | |
| | | |
| | | |
| ___________________ |
________________________________
我认为最简单的方法是使用相对布局在图像上放置一个按钮:
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/ImageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</ImageView>
<Button
android:id="@+id/Button"
android:layout_width="200dip"
android:layout_height="150dip"/>
</RelativeLayout>
但我还没弄明白如何让按钮与图像的左上角对齐(而不是像现在这样,相对布局的左上角)。这可能与相对布局有关吗?
也欢迎其他方法的建议,我考虑过这个: http://blahti.wordpress.com/2012/06/26/images-with-clickable-areas/ 但对于我的简单矩形区域来说,这似乎有些过分。
答案 0 :(得分:1)
试试这个:
<ImageView
android:id="@+id/ImageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</ImageView>
<Button
android:id="@+id/Button"
android:layout_alignLeft="@id/ImageView"
android:layout_alignTop = "@id/ImageView"
android:layout_width="200dip"
android:layout_height="150dip"/>
</RelativeLayout>
答案 1 :(得分:1)
您也可以使用
<Button
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@drawable/image1"
android:drawableLeft="@drawable/image2t"
android:drawableRight="@drawable/image3"
android:drawableTop="@drawable/image4"
android:drawableTop="@drawable/image4"
android:textColor="#ffffff"
/>
答案 2 :(得分:0)
好吧,我的google-fu改进了,感谢asenovm我明白了! imageview有一个android:adjustViewBounds属性,默认情况下设置为false。将其设置为true会调整图像的图像视图边界,以便alignLeft和alignTop正确地为按钮工作。
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ImageView
android:id="@+id/ImageView"
android:layout_centerInParent="true"
android:adjustViewBounds="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</ImageView>
<Button
android:id="@+id/Button"
android:layout_alignLeft="@id/ImageView"
android:layout_alignTop = "@id/ImageView"
android:layout_width="200dip"
android:layout_height="150dip"/>
</RelativeLayout>