LinearLayout 水平在真实设备上显示不正确
LinearLayout horizontal not displayed properly on real device
我对水平方向的 LinearLayout 很困惑,因为它在窄屏设备上总是无法正确显示。这是我的代码。
<LinearLayout
android:id="@+id/otherLinear"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:baselineAligned="false"
android:gravity="center"
android:orientation="horizontal"
android:visibility="visible">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical"
android:padding="20dp"
tools:ignore="UseCompoundDrawables">
<TextView
android:id="@+id/availableAction"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:text="@string/add"
android:textColor="@color/icon_selected"
android:textSize="12sp" />
<ImageView
android:id="@+id/addFriendsBtn"
android:layout_width="50dp"
android:layout_height="50dp"
android:contentDescription="@string/welcome"
android:src="@drawable/ic_icons8_add_user" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical"
android:padding="20dp"
tools:ignore="UseCompoundDrawables">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:enabled="false"
android:text="@string/report_label"
android:textColor="@color/icon_selected"
android:textSize="12sp" />
<ImageView
android:id="@+id/reportBtn"
android:layout_width="50dp"
android:layout_height="50dp"
android:contentDescription="@string/welcome"
android:src="@drawable/icons8_spam" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical"
android:padding="20dp"
tools:ignore="UseCompoundDrawables">
<TextView
android:id="@+id/followAction"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:text="@string/follow"
android:textColor="@color/icon_selected"
android:textSize="12sp" />
<ImageView
android:id="@+id/followBtn"
android:layout_width="50dp"
android:layout_height="50dp"
android:contentDescription="@string/welcome"
android:src="@drawable/ic_follow" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical"
android:padding="20dp"
tools:ignore="UseCompoundDrawables">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:enabled="false"
android:text="@string/msg"
android:textColor="@color/icon_selected"
android:textSize="12sp" />
<ImageView
android:id="@+id/msgBtn"
android:layout_width="50dp"
android:layout_height="50dp"
android:contentDescription="@string/welcome"
android:src="@drawable/ic_icons8_weixin_100" />
</LinearLayout>
</LinearLayout>
这就是它在 AS 中的样子,这就是我需要的。
但不知为何,我总是这样。
我还检查了它是否只是因为文本视图很长,但事实并非如此。该视图在 AS 中是正确的,但在某些真实设备上我已经测试过它不是。谁能赐教一下我用LinearLayout horizontal已经一年了,一遍又一遍的调整
布局变化取决于设备分辨率和屏幕尺寸。
请访问:
https://developer.android.com/training/multiscreen/screensizes
或:
您需要在文本视图中添加此代码:
android:autoSizeTextType="uniform"
android:maxLines="1"
android:ellipsize="end"
您正在为您的 textView 使用换行内容。如果您的文本很长,您的视图也会很长,您可以在 XML 中减小文本视图的文本大小,并希望文本可以放在 1 行内,或者您可以使用 autofittextview - "A TextView that automatically resizes text to fit perfectly within its bounds".
Heie 是您使用此库的方式:
在您的 gradle 中添加此实现:
implementation 'me.grantland:autofittextview:0.2.1'
现在添加你的 textView :
<me.grantland.widget.AutofitTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:textSize="12sp"
app:minTextSize="8sp" />
我对水平方向的 LinearLayout 很困惑,因为它在窄屏设备上总是无法正确显示。这是我的代码。
<LinearLayout
android:id="@+id/otherLinear"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:baselineAligned="false"
android:gravity="center"
android:orientation="horizontal"
android:visibility="visible">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical"
android:padding="20dp"
tools:ignore="UseCompoundDrawables">
<TextView
android:id="@+id/availableAction"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:text="@string/add"
android:textColor="@color/icon_selected"
android:textSize="12sp" />
<ImageView
android:id="@+id/addFriendsBtn"
android:layout_width="50dp"
android:layout_height="50dp"
android:contentDescription="@string/welcome"
android:src="@drawable/ic_icons8_add_user" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical"
android:padding="20dp"
tools:ignore="UseCompoundDrawables">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:enabled="false"
android:text="@string/report_label"
android:textColor="@color/icon_selected"
android:textSize="12sp" />
<ImageView
android:id="@+id/reportBtn"
android:layout_width="50dp"
android:layout_height="50dp"
android:contentDescription="@string/welcome"
android:src="@drawable/icons8_spam" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical"
android:padding="20dp"
tools:ignore="UseCompoundDrawables">
<TextView
android:id="@+id/followAction"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:text="@string/follow"
android:textColor="@color/icon_selected"
android:textSize="12sp" />
<ImageView
android:id="@+id/followBtn"
android:layout_width="50dp"
android:layout_height="50dp"
android:contentDescription="@string/welcome"
android:src="@drawable/ic_follow" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical"
android:padding="20dp"
tools:ignore="UseCompoundDrawables">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:enabled="false"
android:text="@string/msg"
android:textColor="@color/icon_selected"
android:textSize="12sp" />
<ImageView
android:id="@+id/msgBtn"
android:layout_width="50dp"
android:layout_height="50dp"
android:contentDescription="@string/welcome"
android:src="@drawable/ic_icons8_weixin_100" />
</LinearLayout>
</LinearLayout>
这就是它在 AS 中的样子,这就是我需要的。
但不知为何,我总是这样。
我还检查了它是否只是因为文本视图很长,但事实并非如此。该视图在 AS 中是正确的,但在某些真实设备上我已经测试过它不是。谁能赐教一下我用LinearLayout horizontal已经一年了,一遍又一遍的调整
布局变化取决于设备分辨率和屏幕尺寸。 请访问:
https://developer.android.com/training/multiscreen/screensizes
或:
您需要在文本视图中添加此代码:
android:autoSizeTextType="uniform"
android:maxLines="1"
android:ellipsize="end"
您正在为您的 textView 使用换行内容。如果您的文本很长,您的视图也会很长,您可以在 XML 中减小文本视图的文本大小,并希望文本可以放在 1 行内,或者您可以使用 autofittextview - "A TextView that automatically resizes text to fit perfectly within its bounds".
Heie 是您使用此库的方式:
在您的 gradle 中添加此实现:
implementation 'me.grantland:autofittextview:0.2.1'
现在添加你的 textView :
<me.grantland.widget.AutofitTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:textSize="12sp"
app:minTextSize="8sp" />