【问题标题】:How can I place the text on the image in variable devices?如何将文本放在可变设备中的图像上?
【发布时间】:2018-07-29 05:38:17
【问题描述】:

你好,我用这张图片申请。

我想将文本放置在左侧和右侧行的红点上。

所以我将文本放在了点上,但是当我将设备 Galaxy S6 更改为 S8 时, 文字位置偏离线条。

我将线条分开并对其施加重量,但仍然没有。

如何在可变设备中放置该图像上的文本?

请帮帮我。

这是我的 layout.xml

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    >

                    <FrameLayout
                        android:layout_width="match_parent"
                        android:layout_height="match_parent">

                        <ImageView
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:scaleType="centerInside"
                            android:src="@drawable/nursecategory"
                            />

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:orientation="vertical"
                        >

                        <!--first line-->
                        <LinearLayout
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:orientation="horizontal"
                            android:layout_marginTop="32dp"
                            >


                            <LinearLayout
                                android:layout_width="0dp"
                                android:layout_height="wrap_content"
                                android:layout_weight="1"
                                android:orientation="vertical"
                                android:gravity="center"

                                >

                                <TextView
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:text="Date"
                                    android:textColor="@color/colorCategory"
                                    android:textStyle="bold"
                                    android:layout_alignParentRight="true"
                                    />

                                <TextView
                                    android:id="@+id/nursetree_textview_Date"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_gravity="center"
                                    android:layout_marginTop="6dp"
                                    android:textAlignment="center"/>

                            </LinearLayout>



                            <TextView
                                android:layout_width="0dp"
                                android:layout_height="wrap_content"
                                android:layout_weight="1"
                                />


                            <LinearLayout
                                android:layout_width="0dp"
                                android:layout_height="wrap_content"
                                android:layout_weight="1"
                                android:orientation="vertical"
                                android:gravity="center"
                                >

                                <TextView
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:text="Age"
                                    android:textColor="@color/colorCategory"
                                    android:textStyle="bold" />

                                <TextView
                                    android:id="@+id/nursetree_textview_Age"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_gravity="center"
                                    android:layout_marginTop="6dp"
                                    android:textAlignment="center"
                                    />

                            </LinearLayout>

                        </LinearLayout>

                        <!--second line-->
                        <LinearLayout
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:orientation="horizontal"
                            android:layout_marginTop="24dp"
                            >

                            <!--Name-->
                            <LinearLayout
                                android:layout_width="0dp"
                                android:layout_height="wrap_content"
                                android:layout_weight="1"
                                android:orientation="vertical"
                                android:gravity="center"
                                >

                                <TextView
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:text="Name"
                                    android:textColor="@color/colorCategory"
                                    android:textStyle="bold" />

                                <TextView
                                    android:id="@+id/nursetree_textview_Agency"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_gravity="center"
                                    android:layout_marginTop="6dp"
                                    android:textAlignment="center"
                                    />

                            </LinearLayout>



                            <TextView
                                android:layout_width="0dp"
                                android:layout_height="wrap_content"
                                android:layout_weight="1"
                                />

                            <!--width-->
                            <LinearLayout
                                android:layout_width="0dp"
                                android:layout_height="wrap_content"
                                android:layout_weight="1"
                                android:orientation="vertical"
                                android:gravity="center"
                                >

                                <TextView
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:text="Width"
                                    android:textColor="@color/colorCategory"
                                    android:textStyle="bold" />

                                <TextView
                                    android:id="@+id/nursetree_textview_Width"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_gravity="center"
                                    android:layout_marginTop="6dp"
                                    android:textAlignment="center"
                                    />

                            </LinearLayout>

                        </LinearLayout>


                        <!--third line-->
                        <LinearLayout
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:orientation="horizontal"
                            android:layout_marginTop="26dp"
                            >

                            <!--place-->
                            <LinearLayout
                                android:layout_width="0dp"
                                android:layout_height="wrap_content"
                                android:layout_weight="1"
                                android:orientation="vertical"
                                android:gravity="center"
                                >

                                <TextView
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:text="Place"
                                    android:textColor="@color/colorCategory"
                                    android:textStyle="bold" />

                                <TextView
                                    android:id="@+id/nursetree_textview_Place"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_gravity="center"
                                    android:layout_marginTop="6dp"
                                    android:textAlignment="center"
                                    />

                            </LinearLayout>



                            <TextView
                                android:layout_width="0dp"
                                android:layout_height="wrap_content"
                                android:layout_weight="1"
                                />

                            <!--heigth-->
                            <LinearLayout
                                android:layout_width="0dp"
                                android:layout_height="wrap_content"
                                android:layout_weight="1"
                                android:orientation="vertical"
                                android:gravity="center"
                                >

                                <TextView
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:text="Height"
                                    android:textColor="@color/colorCategory"
                                    android:textStyle="bold" />

                                <TextView
                                    android:id="@+id/nursetree_textview_Height"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_gravity="center"
                                    android:layout_marginTop="6dp"
                                    android:textAlignment="center"
                                    />

                            </LinearLayout>

                        </LinearLayout>





                    </LinearLayout>



                    </FrameLayout>

                </LinearLayout>


            </LinearLayout>

【问题讨论】:

  • 你需要调整你的xml以自动调整到任何屏幕尺寸和位置,不要使用固定值作为宽度和高度,只需通过id定位你的textview
  • 参见developer.android.com/training/multiscreen/screensizes.html,尤其是“最小宽度限定符”。我还建议为每种支持的屏幕尺寸创建一个模拟器,以测试您将从网页中学到的东西。
  • @GastónSaillén 谢谢,但我没有全部使用固定值。只需使用 match_parent、wrap_content 并赋予权重。
  • 关注我提到的可能重复的线程,它应该可以解决您的问题,这是一个常见问题,社区已经回答了很多时间

标签: android image layout


【解决方案1】:

使用 Relativelayout 作为父布局,然后尝试设计您的视图。 在 Relaytivelayout 中,我们可以将布局添加为托盘。并且很容易处理。 另请阅读 Relativlayout。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-06
    • 2021-03-28
    • 2020-10-18
    • 1970-01-01
    相关资源
    最近更新 更多