在Android Studio中,是否有一种XML布局可以自动调整(缩小/放大)视图内容用户界面以适应不同大小的单个屏幕(即不同的智能手机,平板电脑等),而不是使用LinearLayout和ScrollView的组合,以便将每个UI组件堆叠在一起?
我通常只是做后者,但是如果有一个布局可以自动检测用户的屏幕尺寸并相应地缩小/放大视图内容,那只是好奇。
答案 0 :(得分:1)
答案 1 :(得分:1)
你应该使用layout_weight属性。
答案 2 :(得分:0)
您可以使用LinearLayout的weightSum和layout_weight组件。有关详细信息,请检查:
https://developer.android.com/reference/android/widget/LinearLayout.html#getWeightSum()
https://developer.android.com/guide/topics/ui/layout/linear.html
示例:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:orientation="vertical"
android:weightSum="4">
<View
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@android:color/black" />
<View
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:background="@android:color/darker_gray" />
<View
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@android:color/white" />
</LinearLayout>
答案 3 :(得分:0)
我很惊讶,没有人提到ConstraintLayout
ConstraintLayout是一个ViewGroup,它允许您灵活地定位和调整小部件的位置。
ConstraintLayout允许您使用平面视图层次结构创建大型复杂布局(无嵌套视图组)。它与RelativeLayout类似,因为所有视图都是根据兄弟视图和父布局之间的关系布局的,但它比RelativeLayout更灵活,更易于使用Android Studio的布局编辑器。