【问题标题】:Why is the TextView appearing larger only in Galaxy Nexus?为什么 TextView 仅在 Galaxy Nexus 中显得更大?
【发布时间】:2017-09-25 12:38:10
【问题描述】:

我有一个由TextViews 组成的简单布局,它在除 Nexus 5 之外的所有其他设备上都可以正常显示 | API 6.x。

这是它应该是的样子:(请原谅我在此处发布的屏幕截图缩放比例

这是它的样子:

现在,您可以在此处看到 Following 按钮与TextViews 重叠。在其他设备上,文本很小,因此没有重叠。我没有以编程方式单独配置TextViews 的任何属性,它在许多其他设备上看起来还不错。什么可能导致这样的问题?

其他设备上的文本比这个小,这样按钮就不会重叠。 Nexus 以某种方式显示更大的文本。

我尝试将文本大小设置为 12sp 而不是 dp,但没有成功,而且手机中没有设置更大文本的首选项。


这是供参考的布局:

<RelativeLayout
                android:id="@+id/relativeStudentProfilefollowlayout"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:visibility="gone" >

                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_centerVertical="true"
                    android:gravity="left|center_vertical"
                    android:orientation="horizontal" >

                    <LinearLayout
                        android:id="@+id/linearStudentProfiletotalfollower"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginRight="@dimen/lef_margin"
                        android:gravity="center"
                        android:orientation="vertical" >

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="@string/otheruser_followers_label"
                            android:textColor="@color/header_follow_label_color"
                            android:textSize="12dp" />

                        <TextView
                            android:id="@+id/txtStudentProfiletotalfollower"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginTop="@dimen/view_margin_1dp"
                            android:text="0"
                            android:textColor="@color/header_follow_label_color"
                            android:textSize="12dp" />
                    </LinearLayout>

                    <LinearLayout
                        android:id="@+id/linearStudentProfiletotalfollowing"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginRight="@dimen/lef_margin"
                        android:gravity="center"
                        android:orientation="vertical" >

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_centerHorizontal="true"
                            android:text="@string/otheruser_following_label"
                            android:textColor="@color/header_follow_label_color"
                            android:textSize="12dp" />

                        <TextView
                            android:id="@+id/txtStudentProfiletotalfollowing"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginTop="@dimen/view_margin_1dp"
                            android:text="0"
                            android:textColor="@color/header_follow_label_color"
                            android:textSize="12dp" />
                    </LinearLayout>

                    <LinearLayout
                        android:id="@+id/linearStudentProfiletotalvisit"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:gravity="center"
                        android:orientation="vertical" >

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_centerHorizontal="true"
                            android:text="@string/otheruser_views_label"
                            android:textColor="@color/header_follow_label_color"
                            android:textSize="12dp" />

                        <TextView
                            android:id="@+id/txtStudentProfilevisit"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_alignParentBottom="true"
                            android:layout_centerHorizontal="true"
                            android:layout_marginTop="@dimen/view_margin_1dp"
                            android:text="0"
                            android:textColor="@color/header_follow_label_color"
                            android:textSize="12dp" />
                    </LinearLayout>
                </LinearLayout>

                <Button
                    android:id="@+id/btnStudentProfilefollow"
                    style="@style/btnStyleFollwingView"
                    android:layout_width="wrap_content"
                    android:layout_height="@dimen/btn_height"
                    android:layout_alignParentRight="true"
                    android:button="@null"
                    android:text="Follow"
                    android:textSize="12dp"
                    android:visibility="gone" />
            </RelativeLayout>

【问题讨论】:

  • 您能否也张贴正常/预期情况的图片?
  • @azizbekian:已发布!
  • 您认为这是字体问题吗?在我看来,这是一个屏幕尺寸问题,您没有处理这种情况。看看autosizing TextViews

标签: android android-layout textview


【解决方案1】:

文本大小不是在 dp 中给出,而是在 sp 中,所以使用这个 -

android:textSize="12sp"

您可以应用这种方法 -

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="5"
>
<RelativeLayout
android:layout_width="@dimen/zeroDp"
android:layout_height="wrap_content"
android:id="@+id/rl1"
android:layout_weight="4"></RelativeLayout>
<RelativeLayout
    android:layout_width="@dimen/zeroDp"
    android:layout_height="wrap_content"
    android:id="@+id/rl2"
    android:layout_weight="1"></RelativeLayout>
</LinearLayout>

在 rl2 内部定义按钮布局,在 rl1 内部定义关注者布局

【讨论】:

  • 我已经在问题中提到过我尝试过使用 sp 但没有任何变化:(
【解决方案2】:

确保您没有在整个布局 xml 中使用 dp 作为文本大小。 如果仍然重叠;这可能是由于设备宽度可能不适合您的内容。在这种情况下,请尝试减小文本大小,或者您可以使用线性布局权重属性来解决您的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多