我对LinearLayout有个愚蠢的问题。我在NO_TITLE之前请求setContentView特性,我的Xaml如下所示:
<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)不与屏幕底部对齐,而是根据屏幕大小浮动在某个位置。
我采用这种风格是为了获得一个透明的背景:
<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>如果有人遇到过同样的问题,我很想知道.谢谢你抽出时间!
发布于 2017-03-19 16:51:29
为您的上一次Linearlayout尝试这个,将高度设置为match parent
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="bottom"
android:baselineAligned="false"
android:gravity="center">
</LinearLayout>或
<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
发布于 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
发布于 2022-10-12 14:34:47
尝尝这个
android:layout_alignParentBottom="true"https://stackoverflow.com/questions/42888983
复制相似问题