Android:如何让LinearLayout的background在整个屏幕中心显示
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android:如何让LinearLayout的background在整个屏幕中心显示相关的知识,希望对你有一定的参考价值。
1、用其他组件代替linearlayout的方式进行,这样布局比较简单些。
如果用linearlayout的画,需要有5个才能居中,步骤如下
1、垂直放置3个linearlayout,中间一个固定高度,上下两个设置layout_weight="1"
2、中间linearlayout水平布局,放置左中右3个linearlayout,中间的设置固定宽度,左右设置layout_weight="1"
代码示例如下
android:orientation="vertical" >
<linearlayout android:orientation="vertical" android:layout_weight="1"/>
<linearlayout android:orientation="horizontal"
android:layout_height="50dp">
<linearlayout android:orientation="vertical" android:layout_weight="1"/>
<linearlayout android:orientation="vertical" android:layout_width="50dp"/>
<linearlayout android:orientation="vertical" android:layout_weight="1"/>
</linearlayout>
<linearlayout android:orientation="vertical" android:layout_weight="1"/>
</linearlayout> 参考技术A 首先background是和LinearLayout是一样大的,你要显示到中间吧LinearLayout剧中就行了
如何防止在 FrameLayouts 中滚动,而是让父 LinearLayout 处理所有滚动?
【中文标题】如何防止在 FrameLayouts 中滚动,而是让父 LinearLayout 处理所有滚动?【英文标题】:How to Prevent Scrolling within FrameLayouts and Instead Have the Parent LinearLayout Handle all Scrolling? 【发布时间】:2015-03-09 15:27:48 【问题描述】:我有一个可滚动的 LinearLayout 父级,其中嵌套了一些 FrameLayouts,如下所示:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:fillViewport="true"
android:scrollbars="vertical"
android:orientation="vertical">
<FrameLayout
android:id="@+id/hb_container"
android:layout_
android:layout_/>
<FrameLayout
android:id="@+id/gn_container"
android:layout_
android:layout_/>
<FrameLayout
android:id="@+id/yt_container"
android:layout_
android:layout_/>
</LinearLayout>
我希望 FrameLayouts 占用他们需要的空间,允许通过 LinearLayout 滚动整个视图。
问题是:LinearLayout 只会占据屏幕,不会滚动,如果内容溢出屏幕底部,FrameLayout 会滚动。
明确地说,我只想让 FrameLayouts 填充它们需要的任何空间,LinearLayout 可以像一个长视图一样滚动它。我必须修复 FrameLayout 高度来实现这一点吗?如果是这样,我的布局是否存在在不同屏幕尺寸/密度上中断的风险(或者 DP 是否真的在所有情况下都有效?)。
非常感谢您!
编辑:我已经确认在 FrameLayout 中设置固定高度正是我想要做的:滚动为一个。但是,为什么 wrap_content 不测量高度然后从那里开始?这就是我所期望的情况......我不确定如何判断每个元素的正确高度。
【问题讨论】:
【参考方案1】:尝试在布局中添加滚动视图
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_ >
<LinearLayout
android:layout_
android:layout_
android:fillViewport="true"
android:orientation="vertical">
<FrameLayout
android:id="@+id/hb_container"
android:layout_
android:layout_/>
<FrameLayout
android:id="@+id/gn_container"
android:layout_
android:layout_/>
<FrameLayout
android:id="@+id/yt_container"
android:layout_
android:layout_/>
</LinearLayout>
</ScrollView>
【讨论】:
试过这个,但不幸的是没有,行为与 ScrollView 的行为相同,就像我上面示例中的父 LinearLayout 一样。我正在尝试根据 Google Play 商店在主屏幕中的功能来模拟它。我敢肯定他们一定是为那些不同的盒子使用了片段……但是整个视图都在滚动。以上是关于Android:如何让LinearLayout的background在整个屏幕中心显示的主要内容,如果未能解决你的问题,请参考以下文章
android LinearLayout中嵌套一个textview,当textview更新时会触发LinearLayout也更新。用啥办法可以让