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

在Android的RelativeLayout中,视图的宽度和高度始终为零

是因为视图的布局参数设置不正确。RelativeLayout是一种布局容器,它允许开发者通过相对位置来定义视图的位置。视图的宽度和高度为零意味着视图无法被正确显示。

要解决这个问题,可以采取以下步骤:

  1. 检查布局参数:确保视图的布局参数设置正确。在RelativeLayout中,视图的宽度和高度应该使用wrap_content或具体数值来定义,而不是使用match_parentfill_parent,否则视图将会充满整个父容器,导致宽度和高度为零。
  2. 检查相对位置:RelativeLayout通过相对位置来定义视图的位置,因此需要确保视图之间的相对位置关系正确。可以使用android:layout_alignParentTopandroid:layout_alignParentBottomandroid:layout_alignParentLeftandroid:layout_alignParentRight等属性来设置视图相对于父容器的位置,或者使用android:layout_belowandroid:layout_aboveandroid:layout_toLeftOfandroid:layout_toRightOf等属性来设置视图相对于其他视图的位置。
  3. 检查视图层级:RelativeLayout中的视图层级决定了视图的显示顺序。如果视图的宽度和高度为零,可能是因为它被其他视图覆盖或者被放置在了不可见的位置。可以通过调整视图的层级关系来解决这个问题,例如使用android:layout_below将视图放置在其他视图的下方。

总结起来,要解决在Android的RelativeLayout中视图宽度和高度为零的问题,需要确保布局参数设置正确,相对位置关系正确,并且视图层级正确。这样才能保证视图能够正确显示。

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

相关·内容

android如何获取view布局高度宽度详解

前言 可能很多情况下,我们都会有activity获取view 尺寸大小(宽度高度需求。面对这种情况,很多同学立马反应:这么简单问题,还用你说?你是不是傻。。...当我们 onCreate() 方法获取某个 View 组件宽度高度,直接调用 getWidth()、getHeight()、getMeasuredWidth()、getMeasuredHeight...下面来一起看看吧 实现方法 一、使用 View.measure 测量 View 该方法测量宽度高度可能与视图绘制完成后真实宽度高度不一致。...OnPreDrawListener 监听事件 视图将要绘制时调用该监听事件,会被调用多次,因此获取到视图宽度高度后要移除该监听事件。...OnGlobalLayoutListener 监听事件 布局发生改变或者某个视图可视状态发生改变时调用该事件,会被多次调用,因此需要在获取到视图宽度高度后执行 remove 方法移除该监听事件

5.7K10

如何在onCreate获取View高度宽度

如何在onCreate获取View高度宽度 开发过程中经常需要获取到View宽和高,可以通过View.getWidth()View.getHeight()来得到宽高。...然而新手们经常在onCreate方法中直接调用上面两个方法得到值是0! 这是为什么呢? 因为View绘制是通过两个遍历来完成,一个measure过程,一个layout过程。...只有经过“测量”“布局”之后,View才能正确地完成绘制。而这一切是发生在onCreate方法之后。...所以onCreate中直接使用View.getWidth()View.getHeight()是无法得到正确。 那应该怎么onCreate获取View宽高呢?...开发者可以通过View.post()方法来获取到View宽高,该方法传递一个Runnable参数,然后将其添加到消息队列,最后UI线程执行。

5.3K20

Android入门教程 | DrawerLayout 侧滑栏

DawerLayout 分为侧边菜单主内容区两部分: 主内容区要放在侧边菜单前面,还有就是主内容区最好以 DrawerLayout 最好界面的根布局,否则可能会出现触摸事件被屏蔽问题。...使用注意事项 主内容视图一定要是 DrawerLayout 第一个子视图 主内容视图宽度高度需要 match_parent 必须显示指定侧滑视图 android:layout_gravity 属性...侧滑视图宽度以dp单位,不建议超过320dp(为了总能看到一些主内容视图) 设置侧滑事件:mDrawerLayout.setDrawerListener(DrawerLayout.DrawerListene...DrawerLayout 示例: 要使用 DrawerLayout,可以 layout xml 文件中将 DrawerLayout 设置视图。...Android基础入门教程视频参考

2.1K10

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

大家好,又见面了,我是你们朋友全栈君。 view布局 一个Android应用程序,用户界面通过ViewViewGroup对象构建。...android:layout_weight: 权重,用来分配当前控件剩余空间大小,如果你不设置,所有的视图都有一个layout_weight值,默认为,意思是需要显示多大视图就占据多大屏幕空间...正常情况下,值越大占据高度宽度越大。...例外情况,LineayLayout布局中使用这个属性时需要注意: 当水平方向布局且子控件宽度fill_parent或match_parent时,值越小占据宽度越大,垂直方向也一样。...android:layout_paddingBottom (3) layout_width/height 用于设置控件高度宽度wrap_content 内容包裹,表示这个控件里面文字大小填充

1.8K40

Android入门教程(三)

android fill_parent 表示宽度是屏幕宽度,wrap_content 这个表示大小刚好是文本大小,表示高度,就是该字体有多高,文本框就有多高,同理宽度也一样。...” 这两个属性来描述该控件高度宽度高度文本即是字体高度宽度即是屏幕宽度。...布局 android:orientation=”vertical” //属于垂直排列 android:orientation=”horizontal” //水平排列 center:居中 center_horizontal...android:layout_alignBottom 本元素下边缘某元素下边缘对齐 android:layout_alignRight 本元素右边缘某元素右边缘对齐 第三类:属性值具体像素值...TableLayout表格布局 TableLayout 将子元素位置分配到行或列,是一个以行、列显示视图View视图组。

64020

Android入门教程(三)-安卓UI文档教程

android fill_parent 表示宽度是屏幕宽度,wrap_content 这个表示大小刚好是文本大小,表示高度,就是该字体有多高,文本框就有多高,同理宽度也一样。...” 这两个属性来描述该控件高度宽度高度文本即是字体高度宽度即是屏幕宽度。...布局 android:orientation=”vertical” //属于垂直排列   android:orientation=”horizontal” //水平排列 center:居中 center_horizontal...属性值必须id引用名“@id/id-name”android:layout_below 某元素下方android:layout_above 某元素上方android:layout_toLeftOf.../huangguangda/RelativeLayoutTableLayout表格布局TableLayout 将子元素位置分配到行或列, 是一个以行、列显示视图View视图组。

59620

『安卓』安卓开发基础--基本控件

横向 / vertical 纵向 //相对布局 RelativeLayout:内部控件以某个其他控件参考系,参考系某个方位。...="2" //纵向布局只能分内部控件高度,横向布局只能分内部控件宽度。...//建议给要分比例宽度或者高度写成0dp。 2. EditText 输入框,可编辑,可设置软键盘方式。继承自android.widget.TextView,android.widget包。...//此外,可以具体设置高度宽度显示像素,不过这样设置如果图片尺寸大于设置显示尺寸,则图片是显示不全,这是可以配合android:scaleType属性。...//此外,可以具体设置高度宽度显示像素,不过这样设置如果图片尺寸大于设置显示尺寸,则图片是显示不全,这是可以配合android:scaleType属性。

6.9K20

Android仿简书搜索框效果示例代码

前言 之前用简书时候一直是web端,后来下载了客户端,看到了搜索那个动画,就尝试去写了,没写之前感觉挺容易,写了之后,就感觉里面还是有些要注意东西。话不多说,直接上图。 ?...</RelativeLayout 这里TextView要添加maxLines=1属性,如果不添加,当text=“搜索简书内容朋友”时会有2行变1行效果,看起来效果不太好。...(); //搜索框距离屏幕边缘margin int rightMargin = Px2DpUtil.dp2px(this, 17); //屏幕宽度减去左右margin后搜索框宽度最大值...position int position = l.findFirstVisibleItemPosition(); //获取第一个完全可见视图position...header高度比例 double delta = Math.floor(((float) getScollYDistance(recyclerView) % mHeaderHeight

94130

Android – 仿简书搜索框效果

前言 之前用简书时候一直是web端,后来下载了客户端,看到了搜索那个动画,就尝试去写了,没写之前感觉挺容易,写了之后,就感觉里面还是有些要注意东西。话不多说,直接上图。...> 这里TextView要添加maxLines=1属性,如果不添加,当text=“搜索简书内容朋友”时会有2行变1行效果,看起来效果不太好。...//搜索框距离屏幕边缘margin int rightMargin = Px2DpUtil.dp2px(this, 17); //屏幕宽度减去左右margin后搜索框宽度最大值...position int position = l.findFirstVisibleItemPosition(); //获取第一个完全可见视图...header高度比例 double delta = Math.floor(((float) getScollYDistance(recyclerView) %

1.8K40

Android开发之DrawerLayout实现抽屉效果

2、抽屉菜单摆放布局通过android:layout_gravity属性来控制,可选值left、right或start、end。 3、抽屉菜单宽度 dp 单位而高度父View一样。...抽屉菜单宽度应该不超过320dp,这样用户可以菜单打开时候看到部分内容界面。...--可以程序根据抽屉菜单 切换Fragment--> <FrameLayout android:id="@+id/fragment_layout" android...遇到问题 1、点击DrawerLayout空白处时候,底部content会获得事件。...解决办法:include进那个布局里面,添加clickable=true 2、除了抽屉布局视图之外视图究竟放哪里 左、右抽屉中间内容视图默认是不显示,其他布局视图都会直接显示出来,但是需要将其放在

6K60

Android编程判断横屏、竖屏及设置横竖屏方法

出现问题所在,在于onConfigurationChanged监听方法,是屏幕切换之后才会执行,当测试人员已横屏进入时候,根本就没有进入这个函数进行隐藏操作,而且当横屏进入时候,宽度也就是手机高度...既然知道了问题,那就好办了,下面是解决办法: 当用户从登陆界面登陆之后,设置改界面竖屏显示(这一步是为了让悬浮菜单计算弹出宽度),当执行完之后,再重新设置改界面支持横竖屏显示,代码如下: /** *...);//支持横竖屏 Display display = getWindowManager().getDefaultDisplay();//计算此时手机宽度高度,来进行判断,是否需要显示标题 int...) this.findViewById(R.id.main_toolbar); toolbarLayout.setVisibility(View.GONE); 接着使用系统自带属性,得到手机此时宽度高度...更多关于Android相关内容感兴趣读者可查看本站专题:《Android开发入门与进阶教程》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android

2.5K30

带你领略 ConstraintLayout 1.1 新功能前言带你领略 ConstraintLayout 1.1 新功能

它通常被我们描述更加强大 RelativeLayout。通过使用约束布局,您可以定义一些复杂布局而不需要创建复杂视图层级。 约束布局最近发布了 1.1 稳定版本,并迅速获得大量好评。...而在约束布局 1.1 版本,通过允许您轻松地将任何视图限制为百分比宽度高度,一切将变得很简单。 ? 使用百分比指定按钮宽度,以便在保持设计效果同时适应可用空间。...spread:均匀分配链所有视图 spread_inside:将第一个元素最后一个元素放置边缘上,并均匀分布其余元素 packed:将元素包裹在链条中心 屏障 如果您有几个视图会在运行时更改大小...布置国际化字符串或显示用户生成无法预测大小内容时,屏障非常有用。 ? image 屏障允许您通过几个视图来创建一个约束。 屏障将始终将自己置于虚拟群组之外,并且您可以使用它来限制其他视图。...在上面这个例子,右视图被限制为始终处于最大文本视图末尾。 群组 有时您需要一次显示或隐藏多个元素。为了支持这个,约束布局增加了群组功能。

1.7K20

Carson带你学Android:手把手带你深入学习自定义View Measure过程

作用 测量View宽 / 高 某些情况下,需要多次测量(measure)才能确定View最终宽/高; 该情况下,measure过程后得到宽 / 高可能不准确; 此处建议:layout过程onLayout...作用 指定视图View 高度(height) 宽度(width)等布局参数。...//与父视图等高 android:layout_height="100dip" //精确设置高度 100dip 构造函数 构造函数 = View入口,可用于初始化 & 获取自定义属性...若View设置了背景,View宽度mMinWidthmBackground.getMinimumWidth()最大值 // 下面继续看mBackground.getMinimumWidth...总结 测量流程(Measure)根据视图(View)类型分为两种情况:单一View视图组ViewGroup; 二者最大区别在于:单一Viewmeasure过程对onMeasure()有作统一实现

28210

切换按钮-自定义控件

准备两张图片,按钮背景,上面的小开关 创建一个类MyToggleBtn,继承View 实现三个构造方法,传递上下文, 实现构造方法,传递Context对象,java代码实例化时主要使用这个 实现构造方法...,传递Context对象,AttributeSet对象,布局文件主要使用 View对象显示屏幕上,有几个重要步骤 1.构造方法创建对象 2.测量view大小 onSeasure(int,int)...,高度;调用背景Bitmap对象getWidth()getHeight() 重写onDraw()方法,传递进来Canvas对象 调用Canvas对象drawBitmap()方法,参数:Bitmap...关 canvas.drawBitmap(bitmapBtn, 0, 0, paint); 滑动按钮位置,背景图宽度-滑动按钮宽度,0,状态是 开 canvas.drawBitmap(bitmapBtn...currentState 判断当前状态 如果真,滑动按钮左边是背景图宽度-滑动按钮宽度 如果假,滑动按钮左边是0 调用invalidate()方法,刷新当前视图 MyToggleBtn.java

1.7K20
领券