图像按钮必须放置左右角

Image Button have to place right and left corner

我必须将图像放在左右角,两个 arrows.But 它靠近中心放置。

我对两个箭头都使用了线性布局并将方向设置为 horizontal.I 已发布以下代码和屏幕截图:

activity_arrow.xml:

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <RelativeLayout
        android:id="@+id/relative"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_above="@+id/linear"
        android:layout_alignParentTop="true">

    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/imageView"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentTop="true"
        android:layout_alignParentBottom="true" />

    </RelativeLayout>

    <LinearLayout
        android:id="@+id/linear"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"

        android:orientation="horizontal">

        <ImageButton
            android:id="@+id/rightArrow"
            android:layout_width="0dip"
            android:layout_height="match_parent"
            android:layout_gravity="right"
            android:layout_weight=".01"
            android:background="@null"
            android:paddingLeft="50dp"
            android:padding="5dp"
            android:src="@drawable/left_arrow"
            />


        <ImageButton
            android:id="@+id/leftArrow"
            android:layout_width="0dip"
            android:layout_height="match_parent"
            android:layout_gravity="left"
            android:layout_weight=".01"
            android:background="@null"
            android:padding="5dp"
            android:src="@drawable/right_arrow" />

    </LinearLayout>

</RelativeLayout>

截图:

你应该使用RelativeLayout

android:layout_alignParentBottom 将布局移动到 screen.after 的底部,通过使用右对齐和对齐 left.use marging left 和 marging right 来对齐 RelativeLayout 中的图像。

试试这个,它会根据您的要求完善,

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <RelativeLayout
        android:id="@+id/relative"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_above="@+id/linear"
        android:layout_alignParentTop="true">

    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/imageView"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentTop="true"
        android:layout_alignParentBottom="true" />

    </RelativeLayout>

    <LinearLayout
        android:id="@+id/linear"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"

        android:orientation="horizontal">

        <Button
            android:id="@+id/rightArrow"
            android:layout_width="0dip"
            android:layout_height="match_parent"
            android:layout_gravity="right"
            android:layout_weight=".01"
            android:background="@null"
            android:paddingLeft="50dp"
            android:padding="5dp"
            android:drawableLeft="@drawable/left_arrow"
            />


        <Button
            android:id="@+id/leftArrow"
            android:layout_width="0dip"
            android:layout_height="match_parent"
            android:layout_gravity="left"
            android:layout_weight=".01"
            android:background="@null"
            android:padding="5dp"
             android:drawableRight="@drawable/right_arrow" />

    </LinearLayout>

</RelativeLayout>

截图:

希望这会有所帮助...谢谢

你可以试试这个

`

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:gravity="bottom"
    android:orientation="horizontal" >

    <ImageButton
        android:id="@+id/rightArrow"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher" />

    <View
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_weight="1" />

    <ImageButton
        android:id="@+id/leftArrow"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher" />
</LinearLayout>

`

希望对您有所帮助

这个怎么样:

<?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">

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@drawable/abc_btn_check_material"/>

    <ImageButton
        android:id="@+id/leftArrow"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:background="@null"
        android:src="@drawable/left_arrow"
        />

    <ImageButton
        android:id="@+id/rightArrow"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:background="@null"
        android:src="@drawable/right_arrow"/>

</RelativeLayout>

这样试试:

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

        <ImageView
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:id="@+id/imageView"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_above="@+id/filter_check2"/>

        <ImageView
            android:id="@+id/filter_check2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/right_arrow"
            android:layout_gravity="bottom"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true"/>

        <ImageView
            android:id="@+id/filter_check"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/left_arrow"
            android:layout_gravity="right"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"/>

</RelativeLayout>

输出:-

不要在视图层次结构的顶部使用相对布局。它很昂贵,因为它是两阶段布局。 Android UI 框架工程师多次劝阻它的使用。这是 Chet Hasse https://medium.com/google-developers/developing-for-android-iii-2efc140167fd

最近的 post

如他所写

it is important to understand that RelativeLayout is an expensive solution, because it requires two measurement passes to ensure that it has handled all of the layout relationships correctly.

带权重的LinearLayout也是一个两阶段布局。只有在没有更好的方法时,我们才应该使用带有权重的 RelativeLayout 和 LinearLayout。

不要在根目录中使用 RelativeLayout,而是使用类似于此的 Framelayout

<?xml version="1.0" encoding="utf-8"?>

<FrameLayout
    android:id="@+id/imageViewContainer"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginBottom="48dp">

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"/>

</FrameLayout>

<LinearLayout
    android:id="@+id/linear"
    android:layout_width="fill_parent"
    android:layout_height="48dp"
    android:layout_gravity="bottom"
    android:orientation="horizontal">

    <Button
        android:id="@+id/rightArrow"
        android:layout_width="0dip"
        android:layout_height="match_parent"
        android:layout_gravity="right"
        android:layout_weight=".01"
        android:background="@null"
        android:drawableLeft="@drawable/left_arrow"
        android:padding="4dp"
        android:paddingLeft="48dp"
        />


    <Button
        android:id="@+id/leftArrow"
        android:layout_width="0dip"
        android:layout_height="match_parent"
        android:layout_gravity="left"
        android:layout_weight=".01"
        android:background="@null"
        android:drawableRight="@drawable/right_arrow"
        android:padding="4dp"/>

</LinearLayout>