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

如何匹配按钮高度与另一个按钮时,他们在不同的linearLayout?

在不同的LinearLayout中匹配按钮的高度,可以通过以下步骤实现:

  1. 首先,确保两个按钮分别位于不同的LinearLayout中。
  2. 在XML布局文件中,为每个LinearLayout设置唯一的ID,以便在代码中引用它们。
  3. 在代码中,使用findViewById方法获取两个LinearLayout的引用。
  4. 使用ViewTreeObserver监听第一个LinearLayout的布局完成事件,以便在布局完成后获取按钮的高度。
  5. 在布局完成事件中,使用getMeasuredHeight方法获取第一个按钮的高度。
  6. 将获取到的高度应用到第二个按钮上,可以使用setLayoutParams方法设置第二个按钮的布局参数,将高度设置为第一个按钮的高度。

以下是一个示例代码:

代码语言:txt
复制
// 获取第一个LinearLayout的引用
LinearLayout linearLayout1 = findViewById(R.id.linearLayout1);

// 获取第二个LinearLayout的引用
LinearLayout linearLayout2 = findViewById(R.id.linearLayout2);

// 监听第一个LinearLayout的布局完成事件
linearLayout1.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
    @Override
    public void onGlobalLayout() {
        // 获取第一个按钮的高度
        int buttonHeight = button1.getMeasuredHeight();

        // 设置第二个按钮的高度为第一个按钮的高度
        LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) button2.getLayoutParams();
        layoutParams.height = buttonHeight;
        button2.setLayoutParams(layoutParams);

        // 移除布局完成事件的监听器
        linearLayout1.getViewTreeObserver().removeOnGlobalLayoutListener(this);
    }
});

这样,当第一个LinearLayout的布局完成后,第二个按钮的高度将会与第一个按钮的高度匹配。请注意,以上代码仅为示例,实际使用时需要根据具体情况进行适当的修改。

推荐的腾讯云相关产品:无

希望以上信息对您有所帮助!

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【谷歌官方文档】1.1 建立第一个APP

本小节里,我们将学习如何用 XML 创建一个带有文本输入框和按钮界面。...该值表示子 View 扩张自己宽度和高度匹配 父控件宽度和高度。 更多关于布局属性内容,请参考 布局向导。...项目文件 gen/R.java 中,每个资源都有一个之对应资源对象。你可以使用 R 类中对象名称代指资源(如:指定 android:hint 属性需要字符串)。...更多关于不同语言本字符串资源本地化问题,请参考 兼容不同设备。 添加一个按钮 Android Studio 里,编辑 res/layout 下 content_my.xml 文件。...方法)android:onClick属性中提供方法名字匹配,它们名字必须一致,特别需要注意是,这个方法必须满足以下条件: 是public函数 无返回值 参数唯一(为View类型,代表被点击视图

2.4K20
  • Android开发之基本控件和详解四种布局方式

    下方是在按钮点击委托代理方法中添加ProgressDialog,点击按钮就显示ProgressDialog。...我们可以给控件添加不同约束(宽,高,上下左右边距,上下左右居中,垂直水平居中)等方式来控制控件大小和位置。这种方式屏幕适配更为灵活,iOS开发中也常常被使用到。...最下方我们使用了一个水平布局LinearLayout1, LinearLayout01上又有两个高度等于父视图高度LinearLayout11和LinearLayout12,两者子控件布局方式都设置为垂直排列...LinearLayout12中又有两个子线性布局LinearLayout121和LinearLayout122, 这两个子布局沿垂直方向排列于父布局之上,并且宽度父布局相等。 ?...接下来我们要做就是LinearLayout122中添加三个水平方向上等分按钮

    1.7K50

    【Android 应用开发】AndroidUI设计之 布局管理器 - 详细解析布局实现

    , 这两个方法返回是0, Android运行机制决定了无法组件外部使用getHeight()和getWidth()方法获取宽度和高度; 组件内可以获取 : 自定义类中可以View类中通过调用这两个方法获取该..., 并且组件中含有子元素, 所获取实际值是这些组件所占最小宽度和最小高度....纵向高度填满 : 如果布局horizontal, 那么设置一个ImageView宽度2dp, 高度fill_parent, 设置一个背景色; <ImageView android:layout_width...三个水平方向按钮分别左对齐,居中对齐,右对齐 要点 : 给FrameLayout中三个按钮分别设置 不同layout_gravity,left ,center_horizontal,right,...TableRow 和 组件 就可以控制表格行数和列数, 这一点网格布局有所不同, 网格布局需要指定行列数; 增加行方法 :  a.

    2.4K40

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

    -- 子视图元素 --> 在上述代码中,我们创建了一个垂直方向LinearLayout,并将其宽度设置为父视图相匹配(match_parent),高度根据子视图自适应...设置布局属性: 可以通过每个子视图布局参数中设置不同属性来控制子视图LinearLayout位置和大小,例如android:layout_weight属性可以用来设置子视图权重,实现按比例分配剩余空间...布局属性:通过子视图布局参数中设置不同权重、对齐方式和填充方式,可以灵活控制每个子视图LinearLayout位置和大小。...使用LinearLayout,可以考虑以下几点: XML布局文件中使用标签来定义LinearLayout。...这个简单LinearLayout案例展示了如何在垂直方向上排列文本和按钮,并通过android:layout_gravity属性实现水平居中对齐。

    23830

    《移动互联网技术》第五章 界面开发: 掌握Activity基本概念,Activity堆栈管理和生命周期

    系统中,活动将不断经历从创建到销毁周期运行。了解活动如何生存,以及活动整个生命周期状态变迁,能更清楚地知道如何去实现活动。...同样,如果 LinearLayout排列方向是vertical,内部控件就不能将高度指定为match_parent。...只有当动作和类别同时匹配,活动才能响应 Intent。所以类别越多,动作就越具体,意图也就越明确。在下面的例子中,MY_ACTION动作定义了两个类别,一个是自定义类别,另一个是缺省类别。...活动onCreate函数中,首先,创建DisplayMetrics对象,通过它来获取屏幕相关信息。创建双缓冲视图是,需要获取屏幕像素宽度和高度,它们单位是px(像素)。...答案:Intent解析匹配规则是: (1)Android系统把所有应用程序包中Intent过滤器集合在一起,形成一个完整Intent过滤器列表; (2)IntentIntent过滤器进行匹配

    18410

    再学一次ConstraintLayout 一些新特性

    image.png 二、父亲边缘对齐 当需要子view放在父view底部或者最右侧....属性如下(这些属性只有在给出宽度或高度为wrap_content才会生效): android:minWidth 设置布局最小宽度 android:minHeight 设置布局最小高度 android...在这种情况下,系统设置满足所有约束最大尺寸并保持指定纵横比。要根据另一个特定边尺寸限制一个特定边,可以预先附加W,“或” H,分别约束宽度或高度。...,而按钮宽度将匹配父项约束。...比如有时候,可能会有这样需求,有两个按钮,屏幕中央一左一右. 如果是以前的话,我会搞一个LinearLayout,.然后将LinearLayout居中,然后按钮一左一右. 效果图如下: ?

    1.7K40

    最简单最常用LinearLayout线性布局

    :divider setDividerDrawable(Drawable) 设置垂直布局两个按钮之间分隔条 android:gravity setGravity(int) 设置布局管理器内组件对齐方式...android:layout_gravity:指定该子元素LinearLayout对齐方式。 android:layout_weight:指定该子元素LinearLayout中所占权重。...android:layout_height:设置LinearLayout 高度。 这两个值属性值也有多种取值方式,同前面一样,此处不做赘述。...从上面的程序发现,需要使用layout_weight视图组件,要根据LinearLayoutorientation属性值将对应宽度或高度设置为0dp。...以上练习是水平方向权重,垂直方向同理。需要注意是:layout_weight只能在LinearLayout线性布局中使用,而且只能在LinearLayout直接子元素中使用。 ?

    2.5K80

    Android开发实现Switch控件修改样式功能示例【附源码下载】

    因此,写下此文,方便有需要同学参考。 先上效果图: ? ? 以上便是修改后效果 原生Switch效果对比。...-- 底层下滑条样式选择器,可控制Switch不同状态下,底下下滑条颜色 -- <selector xmlns:android="http://schemas.android.com/apk/res...滑动<em>按钮</em>:底色我用<em>的</em>接近白色<em>的</em>淡灰色,打开<em>时</em>,边上<em>的</em>一圈线条为灰色,关闭<em>时</em>,边上<em>的</em>一圈线条为绿色 实现方式和底部滑动一致 gray_thumb.xml :关闭状态,<em>按钮</em>边上一圈颜色为深灰色 <?...-- <em>按钮</em><em>的</em>选择器,可以设置<em>按钮</em><em>在</em><em>不同</em>状态下<em>的</em>时候,<em>按钮</em><em>不同</em><em>的</em>颜色 -- <selector xmlns:android="http://schemas.android.com/apk/res/android...="wrap_content" / </LinearLayout 4.高度,宽度设置 细心同学会发现,修改 android:layout_width , android:layout_height

    1.3K20

    【Android 应用开发】AndroidUI设计 之 图片浏览器

    该属性 android:maxHeight 和 android:maxWidth 属性一起使用才有效果, 单独使用没有效果; 设置最大宽度, 高度 :android:maxWidth(android:...(boolean), 是否裁剪, 用来保留ImageViewpadding, 该属性android:scrollY 属性一起使用时候才有用, 单独使用没有效果; 即 滚动时候, 滚动到边界,...图片放大缩小 获取View组件宽高 : Activity普通方法中无法获取到view组件准确值, 如果想要获取view组件宽高, 可以 onWindowFocusChanged()方法中获取;...计算每次自增自减单位值 : 当按下缩放按钮时候, 就对ImageView宽高值进行自增自减单位值操作; 为ImageView设置宽高 : 即设置LayoutParams, 注意是LinearLayout.LayoutParams...; 按钮点击切换背景 : 设置selector资源, 设置两个item, 一个item状态为按下, 显示一个图片, 另一个item状态为普通情况下, 显示另一个图片;  selector源码 :

    93220

    经典布局:如何定义子控件父容器中排版位置?

    之前文章中,我们一起学习了构建视图基本元素,文本Text、图片Image和按钮,用于展示一组连续视图元素ListView,以及处理多重嵌套可滚动视图CustomScrollView,等等。...我们已经知道,Flutter中一切皆Widget,那么布局也不例外。但基本控件元素不同,布局类Widget并不会直接呈现视觉内容,而是作为承载其他子Widget容器。...需要设置内容间距,我们可以通过EdgeInsets不同构造函数,分别制定四个方向不同补白方式,如均使用同样数值留白(EdgeInsets.all),只设置左留白(EdgeInsets.only)...如果想让容器子Widget主轴上完全匹配,我们可以通过设置RowmainAxisSize参数为MainAxisSize.min,由所有子Widget来决定主轴方向容器长度,即主轴方向长度尽可能小...层叠Widget布局:StackPositioned 有些时候,我们需要让一个控件叠加在另一个控件上面,比如在一张图片上放置一段文字,又或是图片某个区域放置一个按钮

    4.6K30

    项目需求讨论 — ConstraintLayout 详细使用教程

    正文 控件如何确定自己位置 1.直接确定控件左上角坐标 约束布局中,一个控件如何来确定自己位置呢,有人可能说直接写死让它在界面的(XXX,XXX)位置不就好了么。...比如我们A按钮已经确定好位置了。我们现在要放B按钮,就像我们上面说,我们B按钮二个边位置,我们可以设置让B按钮左边靠着A按钮右边(相当于B按钮左边A按钮右边处于同一位置)。...,让按钮右边父布局右边对齐。...为了约束一个特定边,可以根据另一个大小来限定宽度或高度: 可以通过比率前面添加字母W(用于限制宽度)或H(用于限制高度),用逗号分隔来指示哪一边应该受到约束: <Button android:layout_width...,而按钮宽度将匹配父布局约束。

    1.7K20

    android 实现按钮浮动键盘上方实例代码

    大家好,我是梦辛工作室灵,最近在帮客户修改安卓程序时,有要求到一个按钮要浮动键盘上方,下面大概讲一下实现方法: 其实很简单,分三步走 第一步 获取当前屏幕高度 Display defaultDisplay...键盘隐藏 } } }; root.getViewTreeObserver().addOnGlobalLayoutListener(listener); } 第三步 当键盘隐藏按钮...动画移动至原有位置,当前键盘显示按钮动画移动至当前键盘高度上方 if(isKeyboardShowing){ //键盘显示 floatview.animate().translationY...this.findViewById(R.id.lin_root); floatBtnUtil.setFloatView(lin_root,lin_bottom); } 总结 到此这篇关于android 实现按钮浮动键盘上方文章就介绍到这了...,更多相关android 实现按钮浮动键盘上方内容请搜索ZaLou.Cn以前文章或继续浏览下面的相关文章希望大家以后多多支持ZaLou.Cn!

    1.5K21

    A015-布局之Linearlayout

    前面已经给大家介绍完Android中所涉及到一些资源文件,这节课开始进入用户界面的介绍,主要会包括”布局”和”基础控件”,我会先从布局开始讲起,然后逐个给大家将如何在实际开发中使用相关控件实现应用当中...Android中布局容器 LinearLayout 线性布局是Android中最基本一种布局,它只有两种布局方向: vertical(竖直方向) horizontal(纵向) eg: layout_linearlayout.xml...layout_width、layout_height分别代表宽度、高度属性。...(告诉你view变得跟它parent view group所能允许最大尺寸一样) layout_weight 这个是LinearLayout一个重要属性,权重。...,不同布局容器都会有相应layout parameters,我们用到时候再提一下。

    27040

    android 设置标题栏背景颜色_状态栏菜单栏都在哪

    android中沉浸式状态栏文章已经满大街了,可是实现某些效果,还是得各种搜索,测试一通后,最后还常常满足不了要求,即使好不容易一部手机上满足了需求,放在另外一手机上,发现效果还各种不适配。...一个Activity包含多个Fragment切换不同Fragment状态栏背景,状态栏文字颜色和图标要求不一样怎么实现? 3....下面是同一个activity切换不同fragment,状态栏文字颜色跟着变化效果图: 下图是同一个Activity向上滚动,标题栏和状态栏文字颜色根据变化效果: 1....同一个Activity包含多个Fragment如何实现不同fragment状态栏背景和文字颜色不一样 如下面的效果图: 就是设置了状态栏为暗色后,还得设置回来,这其实主要靠下面两个flag...而对于第一个首页和第四个我fragment,则需要布局图片填充到状态栏底下,而标题栏要位于状态栏下方,这其实只需要一种取巧实现,一般手机状态栏高度都是25dp左右,当然代码中动态获取状态栏高度

    2.2K10

    【Android布局】程序中设置android gravity 和 android layout Gravity属性

    他们区别在于: android:gravity 属性是对该view中内容限定.比如一个button 上面的text....你可以设置该text 相对于view靠左,靠右等位置. android:layout_gravity是用来设置该view相对父view 位置.比如一个button linearlayout里,你想把该...android:paddingLeft=”30px” 按钮上设置内容离按钮左边边界30个像素 android:layout_marginLeft=”30px” 整个按钮离左边设置内容30个像素...代码比较简单,但是发现它们还是花了我一点。...另外,要设置RelativeLayout中位置使用addRule方法,如下: params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT

    2.4K10

    Android开发基础:布局,监听以及一些基础知识

    android:layout_height="match_parent" android:layout_width/android:layout_height可选参数 match_parent:宽度和高度匹配上一级...android:layout_gravity="center" //设置组件父组件位置 weight: 用于按照权重比值设置宽和高比例,只能应用于线性布局 给那个属性设置权重,就给这个属性设置...为RadioGroup值改变添加一个监听器 RadioGroup radgroup = (RadioGroup) findViewById(R.id.radiogroup); //第一种获得单选按钮方法...-- 定义一个竖直方向LinearLayout,把QQ呢称说说文本框设置出来 --> <LinearLayout android:layout_width="match_parent...就是回调方法,即当监听到响应时被调用 有多个需要监听对象,可以采用Activity继承处理监听类,并且实现其中回调方法,根据响应对象id来进行不同操作 public class MainActivity

    14110

    Carson带你学Android:最全面、最易懂屏幕适配解决方案

    匹配不同屏幕密度 解决方案 问题:如何进行屏幕尺寸匹配?...图片类型 假设需要匹配不同屏幕大小,你图片资源也必须自动适应各种屏幕尺寸 使用场景:一个按钮背景图片必须能够随着按钮大小改变而改变。...解决方案 问题:如何进行屏幕密度匹配?...答: “布局控件”匹配 本质:使得布局组件不同屏幕密度上显示相同像素效果 做法1:使用密度无关像素 由于各种屏幕像素密度都有所不同,因此相同数量像素不同设备上实际大小也有所差异,这样使用像素...dppx转换 因为ui给你设计图是以px为单位,Android开发则是使用dp作为单位,那么该如何转换呢?

    1.5K10

    android学习笔记----隐式意图和显式意图

    ,那么只有和中内容同时能够匹配上Intent中指定action和category,这个活动才能响应这个Intent。...> 使用意图第二个activity回传数据给第一个activity 实验要求:编程实现具有“登录”按钮主界面,点击“登录”按钮后打开另一个Activity,新打开Activity中输入用户名...由于一个活动中有可能调用startActivityForResult()方法去启动很多不同活动,每一个活动返回数据都会回调到onActivityResult()这个方法中,因此我们首先要做就是通过...这是因为URI另一个子类别,统一资源名称(URN),它们命名资源但不指定如何定位它们。 URI和URL之间概念区别反映在此类和URL类之间差异中。...,等待重新输入; (d) 当点击“全部删除”按钮,清空集合中数据,并使用Toast控件显示“全部数据已经删除!”

    1.4K10
    领券