0

我想创建这样的布局:

在此处输入图像描述

我有 3 个不同的图像:背景、白色方块和 V 标志。

当我希望盒子从一侧移动到另一侧时,如何将它们放置在照片中

当 onClick 被触发时。

我努力了:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/off_background">

    <ImageView
    android:id="@+id/bottom_layer"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/handle" />

<ImageView
    android:id="@+id/upper_layer"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/switch_v" />

</FrameLayout>

这给了我正确的订单,但不正确:

在此处输入图像描述

4

4 回答 4

1
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="right"
    android:background="@drawable/off_background">

    <ImageView android:id="@+id/checkButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/handle"
        android:src="@drawable/switch_v"
        android:layout_gravity="center"
        android:scaleType="centerInside"/>

</FrameLayout>
于 2013-10-29T12:30:34.127 回答
0

试试这个:

        <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/off_background" >

            <RelativeLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true" >

                <ImageView
                    android:id="@+id/bottom_layer"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:src="@drawable/handle" />

                <ImageView
                    android:id="@+id/upper_layer"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerInParent="true"
                    android:src="@drawable/switch_v" />
            </RelativeLayout>
        </RelativeLayout>
于 2013-10-29T12:29:48.440 回答
0

在您的 xml 中提供android:layout_gravity="center"ImageView

于 2013-10-29T12:30:09.167 回答
0

你真的应该看看TobbleButton

您的布局应如下所示

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/off_background">
    <ToggleButton 
        android:id="@+id/toggle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textOn=""
        android:textOff=""
        android:background="@drawable/toggle_bg"
    />

</FrameLayout>

并使用选择器(toggle_bg)作为背景,如下所示

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/toggle_on" android:state_checked="true" android:state_pressed="true"/>
    <item android:drawable="@drawable/toggle_on" android:state_checked="true" android:state_focused="false"/>
    <item android:drawable="@drawable/toggle_off" android:state_checked="false" android:state_pressed="true"/>
    <item android:drawable="@drawable/toggle_off" android:state_checked="false" android:state_focused="false"/>
</selector>

这当然是假设您拥有用于切换按钮不同状态的可绘制对象。

希望有帮助。

于 2013-10-29T12:37:46.670 回答