【问题标题】:How to move ImageView manually without translateY如何在没有 translateY 的情况下手动移动 ImageView
【发布时间】:2013-07-19 03:34:53
【问题描述】:

我已经开始了一个布局,它应该看起来像这样:

但我很难将 3 ImageView(红色)移动到确切位置。这是我所能得到的:

现在我的问题是,我想将三个 ImageView 设置为可点击,以路由到它们对应的屏幕,但这不能应用于我的布局,因为我只是使用 translateY 将 ImageView(blue) 向下移动例如,60dp。真正的 ImageView(blue) 位置比 ImageView(aqua) 的实际显示高 60dp。所以点击它不会影响任何事情。 这是我的 xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/mypage_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/silver" >

<FrameLayout
    android:id="@+id/frame"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <ImageView
        android:id="@+id/table_1"
        android:layout_width="match_parent"
        android:layout_height="180dp"
        android:adjustViewBounds="true"
        android:background="@color/green" />

    <ImageView
        android:id="@+id/btn_top_page"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:adjustViewBounds="true"
        android:background="@color/maroon"
        android:clickable="true" />

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <RelativeLayout
            android:id="@+id/relative_left"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_toLeftOf="@+id/relative_center" >

            <ImageView
                android:id="@+id/btn_left"
                android:layout_width="60dp"
                android:layout_height="60dp"
                android:clickable="true"
                android:src="@color/aqua"
                android:translationY="60dp" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@id/btn_left"
                android:layout_centerHorizontal="true"
                android:text="Left"
                android:textColor="#FFFFFF"
                android:translationY="65dp" />
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/relative_center"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_centerHorizontal="true"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp" >

            <ImageView
                android:id="@+id/btn_center"
                android:layout_width="60dp"
                android:layout_height="60dp"
                android:clickable="true"
                android:src="@color/fuchsia"
                android:translationY="70dp" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@id/btn_center"
                android:layout_centerHorizontal="true"
                android:text="Center"
                android:textColor="#FFFFFF"
                android:translationY="75dp" />
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/relative_right"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_toRightOf="@id/relative_center" >

            <ImageView
                android:id="@+id/btn_right"
                android:layout_width="60dp"
                android:layout_height="60dp"
                android:clickable="true"
                android:src="@color/gray"
                android:translationY="60dp" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@id/btn_right"
                android:layout_centerHorizontal="true"
                android:text="Right"
                android:textColor="#FFFFFF"
                android:translationY="65dp" />
        </RelativeLayout>
    </RelativeLayout>
</FrameLayout>

这是代码应该做的事情吗? 任何帮助都可以。非常感谢。

【问题讨论】:

    标签: android android-layout android-imageview android-framelayout


    【解决方案1】:

    尝试使用 layout_marginTop 而不是 translationY。

    【讨论】:

    • 好吧,这个对我很有效, translateY 也很好,只是我没有很好地测试它,我只是基于 Eclipse 的图形布局。谢谢你的回答。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-11
    • 1970-01-01
    • 1970-01-01
    • 2012-09-30
    • 2018-07-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多