应用小部件布局:图像上方的文本行,在边界框内居中
Posted
技术标签:
【中文标题】应用小部件布局:图像上方的文本行,在边界框内居中【英文标题】:App widget layout: text line above an image, center inside bounding box 【发布时间】:2018-09-26 02:09:54 【问题描述】:我有一个非常简单的应用小部件布局:图像上方的一行文本。
图像应缩放以适合小部件的边界框(保持纵横比),并且文本应与其下方的图像左对齐。它们应该一起出现在小部件边界框的中间。
我无法让它工作。我管理的最好的方法是对齐边界框的左上角,如下所示:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:orientation="vertical">
<TextView
android:id="@+id/text"
android:layout_
android:layout_
android:layout_gravity="bottom"
/>
<ImageView
android:id="@+id/image"
android:layout_
android:layout_
android:layout_weight="1"
android:layout_gravity="top"
android:scaleType="fitStart"
/>
</LinearLayout>
我无法指定将顶部居中对齐的scaleType
,我也无法让图像视图占用图像所需的空间。
【问题讨论】:
你应该使用相对布局或框架布局,或坐标布局,它们会更好地调整线性布局所没有的视图。 你能展示你真正想要什么但你实际拥有的图像吗? 【参考方案1】:试试这个,Here is an image,如果您希望您的布局在横向模式下显示为您想要的,您必须为横向模式创建另一个布局或保持您的视图处于纵向模式。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:orientation="vertical">
<TextView
android:id="@+id/txt"
android:layout_
android:layout_
android:layout_above="@+id/img"
android:text="Text Line"
android:textColor="@color/black" />
<ImageView
android:id="@+id/img"
android:layout_
android:layout_
android:layout_centerInParent="true"
android:adjustViewBounds="true"
android:src="@drawable/signuptop" />
</RelativeLayout>
【讨论】:
这似乎适用于高边框,但在宽边框中失败,因为图像视图没有为文本视图留出空间的限制。我想每种情况的专门布局都可以做到。以上是关于应用小部件布局:图像上方的文本行,在边界框内居中的主要内容,如果未能解决你的问题,请参考以下文章