首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android -Layout_gravity=“底部”不会在屏幕上结束。

Android -Layout_gravity=“底部”不会在屏幕上结束。
EN

Stack Overflow用户
提问于 2017-03-19 16:21:13
回答 3查看 1.6K关注 0票数 2

我对LinearLayout有个愚蠢的问题。我在NO_TITLE之前请求setContentView特性,我的Xaml如下所示:

代码语言:javascript
复制
<LinearLayout
android:baselineAligned="false"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#E600323d"
tools:context="mycontext.Activities.dialogSignal"
android:layout_alignParentBottom="true"
android:gravity="center"
>

<TextView
    android:id="@+id/textView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="10dp"
    android:text="SOME TEXT"
    android:textAlignment="center"
    android:textColor="@color/LightBlue"
    android:textSize="30sp"
    app:layout_heightPercent="10%"/>

<!-- FIRST ROW -->

<LinearLayout
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="5dp">

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="0dp"
        android:layout_height="120dp"
        android:layout_weight="1"
        >
        <ImageButton
            android:onClick="bruitNavigate"
            android:src="@drawable/someDrawable"
            android:scaleType="fitCenter"
            android:background="@android:color/transparent"
            android:contentDescription="@string/descriptionContentSignal"
            android:layout_width="match_parent"
            android:layout_height="90dp"/>

        <TextView
            android:paddingTop="10dp"
            android:text="@string/SomeString"
            android:textSize="15sp"
            android:textAlignment="center"
            android:textColor="@color/LightBlue"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
    </LinearLayout>

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="0dp"
        android:layout_height="120dp"
        android:layout_weight="1"
        >
        <ImageButton
            android:src="@drawable/someDrawable"
            android:scaleType="fitCenter"
            android:background="@android:color/transparent"
            android:contentDescription="@string/descriptionContentSignal"
            android:layout_width="match_parent"
            android:layout_height="90dp"/>

        <TextView
            android:paddingTop="10dp"
            android:text="SomeString"
            android:textSize="15sp"
            android:textAlignment="center"
            android:textColor="@color/LightBlue"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
    </LinearLayout>

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="0dp"
        android:layout_height="120dp"
        android:layout_weight="1"
        >
        <ImageButton
            android:src="@drawable/someDrawable"
            android:scaleType="fitCenter"
            android:background="@android:color/transparent"
            android:contentDescription="@string/descriptionContentSignal"
            android:layout_width="match_parent"
            android:layout_height="90dp"/>

        <TextView
            android:paddingTop="10dp"
            android:text="@string/SomeString"
            android:textSize="15sp"
            android:textAlignment="center"
            android:textColor="@color/LightBlue"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
    </LinearLayout>

</LinearLayout>

<!-- SECOND ROW -->

<LinearLayout
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="5dp">

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="0dp"
        android:layout_height="120dp"
        android:layout_weight="1"
        >
        <ImageButton
            android:src="@drawable/someDrawable"
            android:scaleType="fitCenter"
            android:background="@android:color/transparent"
            android:contentDescription="@string/descriptionContentSignal"
            android:layout_width="match_parent"
            android:layout_height="90dp"/>

        <TextView
            android:paddingTop="10dp"
            android:text="SomeString"
            android:textSize="15sp"
            android:textAlignment="center"
            android:textColor="@color/LightBlue"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
    </LinearLayout>

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="0dp"
        android:layout_height="120dp"
        android:layout_weight="1"
        >
        <ImageButton
            android:src="@drawable/someDrawable"
            android:scaleType="fitCenter"
            android:background="@android:color/transparent"
            android:contentDescription="@string/descriptionContentSignal"
            android:layout_width="match_parent"
            android:layout_height="90dp"/>

        <TextView
            android:paddingTop="10dp"
            android:text="SomeString"
            android:textSize="15sp"
            android:textAlignment="center"
            android:textColor="@color/LightBlue"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
    </LinearLayout>

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="0dp"
        android:layout_height="120dp"
        android:layout_weight="1"
        >
        <ImageButton
            android:src="@drawable/someDrawable"
            android:scaleType="fitCenter"
            android:background="@android:color/transparent"
            android:contentDescription="@string/descriptionContentSignal"
            android:layout_width="match_parent"
            android:layout_height="90dp"/>

        <TextView
            android:paddingTop="10dp"
            android:text="@string/SomeString"
            android:textSize="15sp"
            android:textAlignment="center"
            android:textColor="@color/LightBlue"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
    </LinearLayout>

</LinearLayout>

<!-- THIRD ROW -->

<LinearLayout
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="5dp">

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="0dp"
        android:layout_height="120dp"
        android:layout_weight="1"
        >
        <ImageButton
            android:src="@drawable/someDrawable"
            android:scaleType="fitCenter"
            android:background="@android:color/transparent"
            android:contentDescription="@string/descriptionContentSignal"
            android:layout_width="match_parent"
            android:layout_height="90dp"/>

        <TextView
            android:id="@+id/textView2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingTop="10dp"
            android:text="@string/SomeString"
            android:textAlignment="center"
            android:textColor="@color/LightBlue"
            android:textSize="15sp"/>
    </LinearLayout>

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="0dp"
        android:layout_height="120dp"
        android:layout_weight="1"
        >
        <ImageButton
            android:src="@drawable/someDrawable"
            android:scaleType="fitCenter"
            android:background="@android:color/transparent"
            android:contentDescription="@string/descriptionContentSignal"
            android:layout_width="match_parent"
            android:layout_height="90dp"/>

        <TextView
            android:paddingTop="10dp"
            android:text="SomeString"
            android:textSize="15sp"
            android:textAlignment="center"
            android:textColor="@color/LightBlue"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
    </LinearLayout>

    <Space
        android:layout_width="0dp"
        android:layout_height="120dp"
        android:layout_weight="1"
        />

</LinearLayout>

<LinearLayout
    android:baselineAligned="false"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom"
    android:layout_alignParentBottom="true"
    android:gravity="center"
    >

    <ImageButton
        android:id="@+id/imageButton"
        android:layout_width="150dp"
        android:layout_height="85dp"
        android:layout_gravity="bottom|center"
        android:background="@android:color/transparent"
        android:scaleType="fitCenter"
        android:src="@drawable/centralbutton"/>

    <ImageButton
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_gravity="center_vertical"
        android:background="@android:color/transparent"
        android:contentDescription="@string/accept"
        android:onClick="closeView"
        android:scaleType="fitCenter"
        android:src="@drawable/cancel"
        />
</LinearLayout>
</LinearLayout>

因此,最后一个LinearLayout (仅包含两个ImageButtons)不与屏幕底部对齐,而是根据屏幕大小浮动在某个位置。

我采用这种风格是为了获得一个透明的背景:

代码语言:javascript
复制
    <style name="dialogStyle" parent="@android:style/Theme.Holo">
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:backgroundDimEnabled">true</item>
    </style>

如果有人遇到过同样的问题,我很想知道.谢谢你抽出时间!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-03-19 16:51:29

为您的上一次Linearlayout尝试这个,将高度设置为match parent

代码语言:javascript
复制
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="bottom"
    android:baselineAligned="false"
    android:gravity="center">

</LinearLayout>

代码语言:javascript
复制
 <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom"
    android:layout_weight="1"   //add this
    android:baselineAligned="false"
    android:gravity="center">

解释:

这个LinearLayout中的所有项目都占用一些空间,确保最后一个项,即LinearLayout包装按钮,伸展到占据所有剩余的空间。设置android:layout_weight="1"或使高度match_parent

票数 1
EN

Stack Overflow用户

发布于 2017-03-19 16:32:00

如果要将布局设置为底部,请使用RelativeLayout作为父级,并相应设置视图。或者您可以使用LinearLayout与权重,当您需要设置权重1到中间布局,顶部和底部集自动根据屏幕大小。

LinearLayout的布局权重:参考https://developer.android.com/guide/topics/ui/layout/linear.html

RelativeLayout :请参阅https://developer.android.com/reference/android/widget/RelativeLayout.html

票数 0
EN

Stack Overflow用户

发布于 2022-10-12 14:34:47

尝尝这个

代码语言:javascript
复制
android:layout_alignParentBottom="true"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42888983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档