将ImageButton放在ImageView的中心

时间:2017-01-13 09:23:31

标签: android xml android-layout

如何调整imageButton中心的ImageView

以下是我尝试的代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/Theme.AppCompat"
        android:background="@color/darkpurple"
        android:minHeight="?attr/actionBarSize">

        <Button
            android:text="Save"
            android:id="@+id/save"
            android:background="@color/darkpurple"
            android:layout_width="wrap_content"
            android:layout_gravity="right"
            android:textColor="#fff"
            android:layout_height="wrap_content"
            android:textSize="12sp" />

    </android.support.v7.widget.Toolbar>

    <ImageView
        android:layout_height="200dp"
        android:layout_width="200dp"
        android:layout_marginTop="15dp"
        android:background="@color/light_gray"
        android:layout_below="@+id/toolbar"
        android:layout_marginRight="25dp"
        android:layout_alignParentRight="true"
        android:id="@+id/imageView"
        android:layout_gravity="center_horizontal" />

    <Button
        android:layout_width="65dp"
        android:background="@drawable/camera"
        android:layout_height="55dp"
        android:layout_marginRight="5dp"
        android:id="@+id/imageButtonOne"
        android:paddingTop="100dp"
        android:layout_marginTop="67dp"
        android:layout_alignTop="@+id/imageView"
        android:layout_alignRight="@+id/comments"
        android:layout_alignEnd="@+id/comments" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/imageView"
        android:layout_marginTop="10dp"
        android:paddingLeft="20dp"
        android:textColor="@color/red"
        android:textStyle="bold"
        android:id="@+id/Date"
        android:textSize="15sp"
        android:text="Date"/>

    <EditText
        android:layout_width="match_parent"
        android:id="@+id/date"
        android:layout_below="@+id/Date"
        android:layout_height="wrap_content"
        android:paddingLeft="20dp"
        android:textSize="15sp"
        android:hint="Date"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:paddingLeft="20dp"
        android:textColor="@color/red"
        android:textStyle="bold"
        android:id="@+id/Amount"
        android:textSize="15sp"
        android:text="Amount"
        android:layout_below="@+id/date" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/Amount"
        android:paddingLeft="20dp"
        android:id="@+id/amount"
        android:inputType="numberDecimal"
        android:textSize="15sp"
        android:hint="Amount"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:paddingLeft="20dp"
        android:textStyle="bold"
        android:id="@+id/Comments"
        android:textSize="15sp"
        android:text="Comments"
        android:layout_below="@+id/amount" />

    <EditText
        android:layout_width="290dp"
        android:layout_height="120dp"
        android:paddingBottom="80dp"
        android:layout_marginTop="15dp"
        android:layout_marginLeft="10dp"
        android:paddingLeft="13dp"
        android:id="@+id/comments"
        android:textSize="15sp"
        android:background="@drawable/roundedcorner_edittext"
        android:hint="Comments"
        android:layout_below="@+id/Comments"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />
    </RelativeLayout>

我的ScreenShot

enter image description here

5 个答案:

答案 0 :(得分:2)

<FrameLayout android:layout_height="200dp"
    android:layout_width="200dp"
    android:layout_below="@+id/toolbar"
    android:layout_marginRight="25dp"
    android:layout_marginTop="15dp"
    android:layout_alignParentRight="true">
<ImageView
    android:layout_height="200dp"
    android:layout_width="200dp"                
    android:background="@color/light_gray"         
    android:id="@+id/imageView"
    android:layout_gravity="center_horizontal" />

<Button
    android:layout_width="65dp"
    android:background="@drawable/camera"
    android:layout_height="55dp"                 
    android:id="@+id/imageButtonOne"
    android:layout_gravity = "center"                
   />
</FrameLayout>

检查一下。

答案 1 :(得分:2)

使用代码,它适用于所有屏幕尺寸(请用您的enter image description here替换图片):

True

答案 2 :(得分:1)

这个想法很简单,根据这个做出改变:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

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

   <ImageView 
       android:id="@+id/base"
       android:layout_height="250dp"
       android:layout_width="250dp"
       android:src="@drawable/home"
       android:layout_alignParentLeft="true"
       android:layout_alignParentTop="true" />

    <ImageButton
       android:id="@+id/center"
       android:layout_height="150dp"
       android:layout_width="150dp"   
       android:src="@drawable/home"
       android:layout_centerInParent="true"
      android:layout_centerVertical="true"   />
 </RelativeLayout>

</RelativeLayout>

要将其移至右上角,您可以指定

android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"

到具有固定宽度的相对布局,这将布局放在右上角,然后您可以添加边距以保持在您需要的位置。

希望有所帮助:)

答案 3 :(得分:1)

过去这个,因为它是

/^(a|b)$/n

您需要使用RelativeLayout并使用

 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/Theme.AppCompat"
        android:background="@color/darkpurple"
        android:minHeight="?attr/actionBarSize">

        <Button
            android:text="Save"
            android:id="@+id/save"
            android:background="@color/darkpurple"
            android:layout_width="wrap_content"
            android:layout_gravity="right"
            android:textColor="#fff"
            android:layout_height="wrap_content"
            android:textSize="12sp" />

    </android.support.v7.widget.Toolbar>

    <RelativeLayout
        android:id="@+id/rlImages"
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:layout_centerHorizontal="true"
        android:layout_below="@+id/toolbar"
        android:layout_marginRight="25dp"
        android:layout_marginTop="15dp">

        <ImageView
            android:id="@+id/imageView"
            android:layout_width="200dp"
            android:layout_height="200dp"
            android:background="@color/light_gray" />

        <Button
            android:id="@+id/imageButtonOne"
            android:layout_width="65dp"
            android:layout_height="55dp"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:background="@drawable/add_tag" />
    </RelativeLayout>


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/rlImages"
        android:layout_marginTop="10dp"
        android:paddingLeft="20dp"
        android:textColor="@color/red"
        android:textStyle="bold"
        android:id="@+id/Date"
        android:textSize="15sp"
        android:text="Date"/>

    <EditText
        android:layout_width="match_parent"
        android:id="@+id/date"
        android:layout_below="@+id/Date"
        android:layout_height="wrap_content"
        android:paddingLeft="20dp"
        android:textSize="15sp"
        android:hint="Date"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:paddingLeft="20dp"
        android:textColor="@color/red"
        android:textStyle="bold"
        android:id="@+id/Amount"
        android:textSize="15sp"
        android:text="Amount"
        android:layout_below="@+id/date" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/Amount"
        android:paddingLeft="20dp"
        android:id="@+id/amount"
        android:inputType="numberDecimal"
        android:textSize="15sp"
        android:hint="Amount"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:paddingLeft="20dp"
        android:textStyle="bold"
        android:id="@+id/Comments"
        android:textSize="15sp"
        android:text="Comments"
        android:layout_below="@+id/amount" />

    <EditText
        android:layout_width="290dp"
        android:layout_height="120dp"
        android:paddingBottom="80dp"
        android:layout_marginTop="15dp"
        android:layout_marginLeft="10dp"
        android:paddingLeft="13dp"
        android:id="@+id/comments"
        android:textSize="15sp"
        android:background="@drawable/roundedcorner_edittext"
        android:hint="Comments"
        android:layout_below="@+id/Comments"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />
</RelativeLayout>

答案 4 :(得分:0)

您可以将FrameLayout与

一起使用
  <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">

        <ImageView  
            android:layout_width="fill_parent" 
            android:layout_height="fill_parent" 

            android:scaleType="center"
            android:src="@drawable/img" />

        <Button
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:layout_marginBottom="20dip"
            android:layout_gravity="center_horizontal|bottom"

            android:padding="12dip"
            android:background="#000000"
            android:textColor="#ffffffff"
            android:text="Button" />

    </FrameLayout>