无法在线性布局中插入按钮

Posted

技术标签:

【中文标题】无法在线性布局中插入按钮【英文标题】:Not able to insert button in the linear Layout 【发布时间】:2020-07-27 00:56:42 【问题描述】:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_
    android:layout_
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:background="#AFEEEE"
    android:orientation="vertical">

    <TextView
        android:id="@+id/textView"
        android:layout_
        android:layout_
        android:gravity="center_horizontal"
        android:text="ORDERS"
        android:textSize="30sp"
        android:textStyle="bold|italic"
        />

    <com.google.android.material.tabs.TabLayout
        android:id="@+id/tablayout"
        android:layout_
        android:layout_
        android:background="@android:color/transparent"
        android:minHeight="?attr/actionBarSize"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        app:tabBackground="@android:color/transparent"
        app:tabIndicatorColor="@android:color/white"
        app:tabTextColor="@color/colorPrimary">

    </com.google.android.material.tabs.TabLayout>

    <androidx.viewpager.widget.ViewPager
        android:id="@+id/pager"
        android:layout_
        android:layout_
        >

    </androidx.viewpager.widget.ViewPager>


</LinearLayout>

每当我尝试在 ViewPager 下方放置一个按钮时,它都会下沉到屏幕下方。在调整它的大小时,它只会改变它在屏幕下方的大小。我想把它放在viewPager下面。

【问题讨论】:

@MittalVarsani 改了,还是不行。 【参考方案1】:

给你的viewpager高度0dp和layout_weight=1,它会工作

<androidx.viewpager.widget.ViewPager       
android:id="@+id/pager"   
android:layout_ 
android:layout_ 
android:layout_weight="1"
> 
</androidx.viewpager.widget.ViewPager> 

【讨论】:

成功了!我会接受这个作为答案。这背后的原因是什么? 所以在线性布局中有一个属性权重,当所有同级视图都是固定高度/wrap_content 时,它们占据了它们的空间,而你正在赋予权重=1 的视图,它们覆盖了剩余的所有空间,你可以谷歌关于重量属性的更多信息

以上是关于无法在线性布局中插入按钮的主要内容,如果未能解决你的问题,请参考以下文章

在线性布局中对齐元素

如何在线性布局中保持 TextView 为中心

卡在线性布局中的元素(初学者)

线性布局不会填满整个屏幕

将两个项目限制在线性布局内的顶部和底部

Android Studio线性布局设计问题