首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

LinearLayout 2视图,尽管我更新了weightSum,但如果一个视图消失了,它不会将另一个视图居中

LinearLayout是Android中常用的布局容器,用于在垂直或水平方向上排列子视图。weightSum是LinearLayout的一个属性,用于设置子视图的权重总和。当一个视图消失时,如果没有设置居中的属性,LinearLayout不会自动将另一个视图居中。

要实现将另一个视图居中,可以使用LinearLayout的gravity属性。gravity属性用于设置子视图的对齐方式,包括居中对齐、左对齐、右对齐等。在这种情况下,可以将gravity属性设置为居中对齐,以实现将另一个视图居中。

以下是一个示例代码:

代码语言:txt
复制
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:weightSum="2">

    <View
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:background="#FF0000" />

    <View
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:background="#00FF00"
        android:visibility="gone"
        android:gravity="center" />

</LinearLayout>

在上述示例中,LinearLayout的weightSum属性设置为2,表示子视图的权重总和为2。第一个视图的权重为1,第二个视图的权重也为1。第二个视图的visibility属性设置为gone,表示该视图消失。同时,第二个视图的gravity属性设置为center,表示将该视图居中对齐。

这样,当第二个视图消失时,第一个视图会自动居中显示。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 腾讯云移动开发平台:https://cloud.tencent.com/product/mmp
  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云云原生应用引擎(TKE):https://cloud.tencent.com/product/tke
  • 腾讯云数据库(TencentDB):https://cloud.tencent.com/product/cdb
  • 腾讯云人工智能(AI):https://cloud.tencent.com/product/ai
  • 腾讯云物联网(IoT):https://cloud.tencent.com/product/iotexplorer
  • 腾讯云存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云区块链(BCS):https://cloud.tencent.com/product/bcs
  • 腾讯云视频处理(VOD):https://cloud.tencent.com/product/vod
  • 腾讯云音视频通信(TRTC):https://cloud.tencent.com/product/trtc
  • 腾讯云网络安全(SSL):https://cloud.tencent.com/product/ssl
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android入门教程 | UI布局之RelativeLayout 相对布局

RelativeLayout 和 LinearLayout 类似,都是 ViewGroup,能“容纳”多个子view。 RelativeLayout 是一个以相对位置显示子视图视图组。...每个视图的位置可以指定为相对于同级元素的位置(例如,在另一个视图的左侧或下方)或相对于父级 RelativeLayout 区域的位置(例如在底部、左侧或中心对齐)。...如果不添加其他配置,它们默认是在 RelativeLayout 的左上角。 在 RelativeLayout 中,子 View 可以根据另一个子 View 来确定位置。...有很多布局属性可用于 RelativeLayout 中的视图,部分示例包括: android:layout_alignParentTop 如果为 "true",会将视图的上边缘与父视图的上边缘对齐。...android:layout_centerVertical 如果为 "true",会将此子级在父级内垂直居中

2.7K20

【Android从零单排系列二十九】《Android布局介绍——LinerLayout》

前言 小伙伴们,在前面的系列文章中,我们重点介绍Android开发中用到的视图组件,从本文开始我们继续盘点Android中的布局,本文主要介绍一下LinerLayout。...-- 子视图元素 --> 在上述代码中,我们创建了一个垂直方向的LinearLayout,并将其宽度设置为与父视图相匹配(match_parent),高度根据子视图自适应...> 在上述代码中,我们在LinearLayout中添加了一个TextView和一个Button作为子视图。...setWeightSum(float weightSum):设置LinearLayout中权重的总和。...android:layout_gravity="center_horizontal"/> 上述代码创建了一个垂直方向的LinearLayout,其中包含两个子视图一个

19830

Toast弹窗_androidshowtoast

大家好,又见面,我是你们的朋友全栈君。 安卓toast弹窗 ---- toast弹窗是安卓的一个常用控件,它可以便利的获取上下文对象的地方,进行弹窗提示。本文不追究其中原理,只研究方法。...有两种形态的值,一个是ms为单位。一个是长的3.5s和短的值2s。 但是这种toast普通弹窗不能点按钮取消,只能等待时间过去。自行消失。是典型的提醒框。...//显示提醒框 2,设置Toast弹窗弹出的位置 Toast.setGravity()是一个有参函数,参数值也是三个。...第一个参数设置toast弹窗在屏幕中显示的位置Gravity.top置顶,Gravity.center居中,Gravity.bottom底部。 第二个参数是设置x轴的值,正数为右,负数为左。...toast.setGravity(Gravity.TOP, 0, 0); //设置顶部显示,偏移量为0 3,Toast弹窗中有图片 在弹窗中添加图片,其实本质是给弹窗视图添加一个图片视图,弹窗视图中有布局对象

2.4K10

Android开发笔记(一百八十七)利用估值器实现弹幕动画

弹幕评论由正在观看的网友们即兴发表,故而连绵不绝从画面右端不断涌现,直到漂至画面左端才隐没消失。...虽然弹幕效果可使用平移动画实现,平移动画比较单调,只能控制位移,不能控制速率、文字大小、文字颜色等要素。若想同时操纵视图的多种属性要素,需要采用属性动画加以实现。...以间距属性为例,它的动画步骤说明如下: 1、定义一个间距估值器,它实现接口TypeEvaluator的evaluate方法,并在该方法中返回指定时间点的间距数值; 2、调用ValueAnimator...; 具体到编码实现上,需要自定义弹幕视图,其内部在垂直方向排列,每行放置一个相对布局。...弹幕视图的定义代码示例如下: public class BarrageView extends LinearLayout {     private Context mContext; // 声明一个上下文对象

48420

Android开发笔记(三十五)页面布局视图

初学者有时分不清invisible和gone的区别,其实它们的区别很简单,invisible虽然看不到还占着位置,看起来那里就是有块空白;gone不但看不到而且也不占位置,看上去是不留痕迹的消失掉了...4、layout_weight : 该属性表示当前视图宽或高的权重,这个权重不是把上级视图的所有空间拿来分配,只是把上级视图的剩余空间拿来分配。...具体如下: LinearLayout需要指定的是orientation,具体取值大家都很熟悉:vertical表示垂直布局;horizontal表示水平布局。...); ll_params1.weight = 1; 方式二: LinearLayout.LayoutParams ll_params2 = new LinearLayout.LayoutParams...该方法的第一个参数表示相对位置的属性,如是在相对上方还是相对下方还是相对左边还是相对右边,第二个参数表示视图id,即表示当前视图要相对于哪个视图

59530

Android 架构组件的最新进展 (上篇)

有没有更好的视图访问方式? ? 视图访问方法当然不止一种,正如上图所示的,在简明、编译安全和编译速度上,各个方法总有取舍。那有没有一种方法能一石 "三" 鸟呢? 即将到来!...视图绑定 (View Binding) 给出 ID 即可自动生成绑定类代码且能保证编译安全,能做到一石 "三" 鸟的视图绑定可在 Android Studio 3.6 Canary 11 或更新版本中用得上...是时候告别 findViewById 所有的这些绑定类均由 Gradle 插件生成,如果开发者修改了某个布局文件,会报错的也会只有这个文件,100% 编译安全。...而 ViewModel 则一直运行于进程内,即便应用配置发生变化,只要进程还在,ViewModel 保存的内容就不会消失只要进程消失,ViewModel 里的内容也会消失。...) { newValue -> } 另一个例子则是 LiveData 不再需要使用静态的 Transformations.map 方法: // lifecycle-livedata-ktx // 以前

89640

Android之布局详解

android:nextFocusRight 设置右边指定视图获得下一个焦点 android:nextFocusUp 设置上边指定视图获得下一个焦点 android:nextFocusDown 设置下边指定视图获得下一个焦点...注意:如果LinearLayout的排列方向是horizontal,内部的控件就绝对不能将宽度指定为match_parent,因为如果这样的话,单独一个控件就会将整个水平方向占满,其他的控件就没有可放置的位置...同样的道理,当LinearLayout的排列方向是vertical时,只有水平方向上的对齐方式才会生效。 LinearLayout另一个重要的属性。...android:layout_below表示让一个控件位于另一个控件的下方,android:layout_toLeftOf表示让一个控件位于另一个控件的左侧,android:layout -toRightOf...表示让一个控件位于另一个控件的右侧。

1.9K10

Kotlin入门(19)Android的基础布局

线性布局 线性布局LinearLayout是最常用的布局,顾名思义,它下面的子视图像是用一根线串起来,所以其内部视图的排列是有顺序的,要么从上到下垂直排列,要么从左到右水平排列。...LinearLayout.HORIZONTAL表示水平布局,LinearLayout.VERTICAL表示垂直布局。 2. setGravity: 设置内部视图的对齐方式。...        ll_margin.orientation = LinearLayout.HORIZONTAL         //设置ll_margin内部视图的对齐方式为居中对齐        ...Kotlin允许对属性orientation直接赋值,从而取代setOrientation方法;类似的还有属性gravity取代setGravity方法; 2....有参照物之后,还得指定当前视图位于参照物的哪个方向,才能确定该视图的具体位置。

1.9K10

android常用布局详解「建议收藏」

大家好,又见面,我是你们的朋友全栈君。 view和布局 在一个Android应用程序中,用户界面通过View和ViewGroup对象构建。...ViewGroup类是布局(layout)和视图容器(View container)的基类,此类也定义ViewGroup.LayoutParams类,它作为布局参数的基类,此类告诉父视图其中的子视图想如何显示...center:居中显示,这里并不是表示显示在LinearLayout的中心,当LinearLayout线性方向为垂直方向时,center表示水平居中,但是并不能垂直居中,此时等同于 center_horizontal...android:layout_weight: 权重,用来分配当前控件在剩余空间的大小,如果你不设置,所有的视图都有一个layout_weight值,默认为零,意思是需要显示多大的视图就占据多大的屏幕空间...RelativeLayout 相对布局:是一个ViewGroup以相对位置显示它的子视图(view)元素,一个视图可以指定相对于它的兄弟视图的位置(例如在给定视图的左边或者下面)或相对于 RelativeLayout

1.7K40

Android布局详解

大家好,又见面,我是你们的朋友全栈君。...中如果需要使用占位视图可以使用 Space <Space android:layout_width=”1dp” android:layout_height=”0dp” android:layout_weight...\right 如果是水平 ( 宽如果不定 ) 可以调整孩子在 top\centervertical\bottom RelativeLayout 相对布局 第一种:子视图相对于父容器,取值为 true...android:layout_centerInParent=”true” 居中 android:layout_centerHorizontal=”true” 水平居中 第二种:子视图之间相互参考,值对方视图的...TableLayout(表格布局)其实有点大同小异; 不过新增一些东西 1、跟LinearLayout(线性布局)一样,他可以设置容器中组件的对齐方式 2、容器中的组件可以跨多行也可以跨多列(相比TableLayout

1.5K20

用户界面开发基础

建议使用有意义的字符串,并要在程序中通过常量来引用。...第三个隐式调用符合过滤条件的Activity,由于有两个Activity都包含了名为myaction2的动作,并且都属于名为mycategory的种类,系统会弹出选择界面,用户可以选择其中一个运行,如果勾选...将视图按水平方向居中显示 center 将视图按垂直和水平方向居中显示 LinearLayout标签中的子标签还可以使用layout_gravity和layout_weight属性来设置每一个视图的位置...多用于替换FrameLayout或者当一个布局包含另一个时,标签消除视图层次结构中多余的视图组。...例如你的主布局文件是垂直布局,引入了一个垂直布局的include,这是如果include布局使用的LinearLayout就没意义,使用的话反而减慢你的UI表现。

1.8K20

2014-10-25Android学习------布局处理(-)

> 1.整体用LinearLayout 布局, 宽高均为包裹父窗体 北京图片设置为:android:background="@drawable/home_page" 布局垂直方式 重心是居中...":随着文字栏位的不同 而改变这个视图的宽度或者高度。...2.线性布局下面放置三个button控件 首先我们要知道LinearLayout线性布局有这样的特点: LinearLayout是线性布局控件,它包含的子控件将以横向或竖向的方式排列, 按照相对位置来排列所有的...widgets或者其他的containers,超过边界时,某些控件将缺失或消失,不能完全显示。...LinearLayout保持其所包含的 widget或者是container之间的间隔以及互相对齐(相对一个控件的右对齐、中间对齐或者左对齐)。

1.4K40

Android应用界面开发——ListView,GridView,ScrollView

ScrollView 滚动视图也是很常见的视图,当一个屏幕中内容很多时,我们可以通过滚动来查看所有内容。...ScrollView继承自FrameLayout,里面只能有一个视图,且只支持垂直滚动,如果想水平滚动,使用HorizontalScrollView。...所以我要写个这个界面布局就很清晰,整个界面分为四部分,第一部分标题栏是一个LinearLayout,从左边开始放一个ImageView和一个TextView;第二部分是一个背景为灰色的RelativeLayout...,里边放一个包含ImageView和TextView的LinearLayout居中显示;第三部分是一个ListView,每个item中放一个TextView并居中显示;第四部分是一个背景为灰色的LinearLayout...2.在style.xml中定义 <?xml version="1.0" encoding="UTF-8" ?

1.4K30

在Swift中创建可缩放的图像视图

在你的iOS应用中添加捏合变焦功能的分步指南 照片:Markus WinkleronUnsplash 没有什么比完美的图片更能让你的应用程序熠熠生辉,如果你想让你的应用程序用户真正参与并与图片互动呢...在本教程中,我们将建立一个可缩放、可平移的图像视图来实现这一功能。 计划 他们说,一张图片胜过千言万语--但它不一定要花上一千行代码!对于我们的可缩放图像视图,我们要做的是让它成为一个可缩放的视图。...medium.com/media/afad3… 在commonInit()中,我们将图像视图居中,并设置它的高度和宽度,而不是把它固定在父视图上。这样一来,滚动视图就会从图像视图中获得其内容大小。...试试平移和缩放(如果你使用的是模拟器,按住 "option "键)--你会对你的图像有一个全新的视角 以编程方式初始化视图 在使用界面生成器时,这很好--如果你想以编程方式初始化视图呢?...让我们给我们的类添加另一个初始化器,这样我们就可以在代码中设置图像名称。 medium.com/media/074d4… 就这样!现在我们可以像这样通过图片名称以编程方式初始化我们的视图

5.5K20

【Android】Android对于Activity的运用以及ViewGroup和 用户界面组件在项目中的运用

Activity 确保无论系统从哪个任务启动活动,都只会创建一个活动实例并将其添加到新任务堆栈的顶部,也就是说,该实例启动的其他活动将自动在另一个任务中运行。...如果是,任务将被分派到前台以重用任务。如果任务中已存在要启动的活动的实例,请清除该实例上方的所有活动,并向用户显示该实例。如果现有任务中没有要启动的活动实例,请在任务顶部启动一个实例。...如果存在,它会将此实例的任务安排到前台,并重用此活动的实例(此任务中只有一个活动)。如果它不存在,它将打开一个新任务,并在此新任务中启动此singleInstance模式的活动实例。...在这个PhoneWindow中,有一个DecorView的内部类,它是所有应用程序窗口的根视图,直接控制是否显示活动(参考旧驱动程序的原始单词…)。...好吧,其中有一个LinearLayout和两个FrameLayout。

65420

android toast的用法_toast 安卓

大家好,又见面,我是你们的朋友全栈君。 Android Toast用于在手机屏幕上向用户显示一条信息,一段时间后信息会自动消失。...信息可以是简单的文本,也可以是复杂的图片及其他内容(显示一个view)。...五、公共方法 public int cancel() 如果视图已经显示则将其关闭,还没有显示则不再显示。一般不需要调用该方法。正常情况下,视图会在超过存续期间后消失。...public static Toast.makeText(Context context, int resId, int duration) 生成一个从资源中取得的包含文本视图的标准 Toast 对象。...Resources.NotFoundException public static Toast.makeText(Context context, CharSequence text, int duration) 生成一个包含文本视图的标准

91710

常用Android布局文件优化技巧总结

Android 布局文件的根元素是一个视图容器,可以是一个 LinearLayout、RelativeLayout、FrameLayout 或其他类型的视图容器。...这些属性可以用来控制视图元素在布局中的位置和大小。 布局文件的解析过程 当应用程序启动时,Android 系统会将布局文件解析成一个视图层次结构,然后将其加载到内存中。...include 标签可以将一个布局文件嵌入到另一个布局文件中,从而减少代码的重复性和布局文件的大小。可以使用 include 标签来分离重复的代码,并提高布局文件的复用性。...以前的布局文件一般使用 LinearLayout、RelativeLayout、FrameLayout 等视图容器,这些容器布局比较麻烦,对布局约束的描述不太直观,且相对复杂。...ConstraintLayout 包含了 LinearLayout、RelativeLayout 和 FrameLayout 三种视图容器的功能,并提供更直观、更灵活、更简便的布局方式。

19620
领券