Android,相对布局
我在相对布局内有一个背景图像子项:
<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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
只是放
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....
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.