我是android开发的新手,仍然在学习。我需要碎片帮助。我有一个片段页面,在纵向模式下看起来还可以,但是在横向显示上很混乱,如以下屏幕截图所示:
我已经尝试过scrollview,但是它关闭了我的应用程序。现在,这是我的xml代码的一部分:
?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">
<android.support.v7.widget.CardView
android:id="@+id/cardTop"
android:layout_width="0dp"
android:layout_height="300dp"
android:layout_marginStart="4dp"
android:layout_marginLeft="4dp"
android:layout_marginEnd="4dp"
android:layout_marginRight="4dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.v7.widget.CardView>
</android.support.constraint.ConstraintLayout>
我需要做些什么来解决此问题,或者应该说使它根据屏幕方向做出响应?
答案 0 :(得分:0)
您可以通过为不同的方向创建不同的XML布局来解决此问题。以下来自Google Developer文档:
要为一组资源指定特定于配置的替代方案:
在res /中创建一个新目录,名称为<resources_name>-<config_qualifier>
。
<resources_name>
是相应默认资源的目录名
<qualifier>
是一个名称,用于指定要使用这些资源的单个配置。
在这种情况下,您必须在res /中创建一个名为layout-land
的文件夹,并以与当前使用的XML布局相同的名称放置备用XML布局。
如果您不希望活动旋转,可以在清单文件中将活动的方向设置为portrait
。
编辑:以下是如何强制portrait
定位的示例。
<activity android:name=".ActivityName"
android:label="@string/app_name"
android:screenOrientation="portrait" />
清单已经为您的活动添加了activity
标签。只需添加android:screenOrientation="portrait"
。