Android,相对布局

发布于 2024-10-26 00:40:38 字数 990 浏览 5 评论 0原文

我在相对布局内有一个背景图像子项:

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:scaleType="centerInside"
    android:src="@drawable/game_background_main"
    android:id="@+id/mainBackground"
    />

然后在相对布局内的该子项之后引入一个 TextView:

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@id/mainBackground"
    android:layout_marginTop="14dp"
    android:maxLines="1"
    android:scrollHorizontally="true"
    android:ellipsize="marquee"
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:marqueeRepeatLimit="1"
    android:textColor="@android:color/black"
    android:background="@color/beige"
    android:id="@+id/myText"
    />

现在,至少在我的设备上,mainBackground 图像被缩放,以便高度与屏幕相同,但是宽度则稍小,因此左右两侧有间隙。这很好。

问题是 myText 文本视图 - 为什么它的左侧从屏幕左侧开始,而不是按照指示从 mainBackground 图像的左侧开始?

I have a background image child inside a relative layout:

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:scaleType="centerInside"
    android:src="@drawable/game_background_main"
    android:id="@+id/mainBackground"
    />

I then introduce a TextView after this child inside the relative layout:

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@id/mainBackground"
    android:layout_marginTop="14dp"
    android:maxLines="1"
    android:scrollHorizontally="true"
    android:ellipsize="marquee"
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:marqueeRepeatLimit="1"
    android:textColor="@android:color/black"
    android:background="@color/beige"
    android:id="@+id/myText"
    />

Now, on my device at least, the mainBackground image is scaled so that the height is the same as the screen, but the width is then slightly less and so there is a gap on the left and right sides. This is fine.

The problem is the myText text view -- why does its left side start from the left side of the screen and not the left side of the mainBackground image as instructed?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

段念尘 2024-11-02 00:40:54

只是放
android:layout_toRightOf="@+id/mainBackground" 在 textview 标签中 &删除
android:layout_alignLeft="@id/mainBackground" 来自 textview 标签

希望这可能会有所帮助......

just put
android:layout_toRightOf="@+id/mainBackground" in textview tag & remove
android:layout_alignLeft="@id/mainBackground" from textview tag

hope this might help....

吾家有女初长成 2024-11-02 00:40:53

ImageView 的左侧位于屏幕的左侧。 centerInside只影响ImageView中内容的位置,而不影响ImageView本身的位置。

如果您希望 ImageView 在相对布局中居中,请在 ImageView 上设置 android:gravity="CENTER"

The ImageView's left side is at the left side of the screen. centerInside only affects the location of the content in the ImageView, not the location of the ImageView.

If you want the ImageView to be centered in the RelativeLayout set android:gravity="CENTER" on the ImageView.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文