2013-01-08 93 views
12

我想创建一个像这样的自定义视图。 enter image description here如何将按钮放在android中的Image上?

我尝试以下

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:orientation="vertical" > 

    <ImageView 
     android:id="@+id/customView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:src="@drawable/sample_image" /> 

    <Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="right|top" 
     android:text="Button" /> 

    <Button 
     android:id="@+id/button2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="right|bottom" 
     android:text="Button" /> 

</FrameLayout> 

我怎么能创造这样的观点?我如何可以像这样将按钮放在imageview上?

由于提前

+0

使用的布局。 – SKK

+0

查看下面的答案。我附上了屏幕快照。 – SKK

回答

14

,你可以尝试使用相对布局要做到这一点,

为BTN1;

android:layout_alignParentTop="true" 
android:layout_alignParentRight="true" 

for btn1;

android:layout_alignParentBottom="true" 
android:layout_alignParentRight="true" 

[EDIT 1]

,得到用于按钮使用富余空间,机器人:layout_margin = “20dp”

enter image description here

实施例布局

<RelativeLayout android:layout_width="300dp" 
    android:layout_height="300dp"> 


    <ImageView 
     android:id="@+id/img" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:background="#ffaadd" 
     android:layout_margin="20dp" /> 


    <Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentRight="true" 
     android:text="btn1" /> 

    <Button 
     android:id="@+id/button2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentRight="true"  
     android:text="btn2" /> 

</RelativeLayout> 
+0

我想显示按钮的一部分从imageview.Please注意到图像添加。 –

+0

请看编辑答案 – Talha

+0

Thanks.this为我工作。 –

1

使用RelativeLayout。这将允许你在屏幕上重叠不同的视图。

1
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/RelativeLayout1" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:gravity="center" 
android:orientation="horizontal" > 

<ImageView 
    android:id="@+id/imageView1" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentTop="true" 
    android:layout_weight="1" 
    android:padding="60dp" 
    android:src="@drawable/abs__ab_stacked_solid_dark_holo" /> 

<Button 
    android:id="@+id/button2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignBaseline="@+id/button1" 
    android:layout_alignBottom="@+id/button1" 
    android:layout_alignParentLeft="true" 
    android:layout_marginLeft="30dp" 
    android:background="@drawable/ic_launcher" /> 

<Button 
    android:id="@+id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentTop="true" 
    android:layout_marginRight="32dp" 
    android:layout_marginTop="102dp" 
    android:background="@drawable/ic_launcher" /> 
</RelativeLayout> 

snapshot

0

这解决了我相对

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/RelativeLayout1" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:orientation="horizontal" > 

    <ImageView 
     android:id="@+id/img" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src = "@drawable/basic" 
     android:layout_alignParentTop="true" 
     android:layout_alignRight="@+id/button1" 
     android:layout_alignEnd="@+id/button1" /> 


    <ImageButton 
     android:id="@+id/button1" 
     android:layout_width="40dp" 
     android:layout_height="40dp" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentRight="true" 
     android:text="btn1" 
     android:background="@drawable/ic_cancel_black"/> 



</RelativeLayout> 
相关问题