我不确定这是否是ConstraintLayout的错误,所以我想问问是否有人知道我犯了什么错误。我有一个布局,我想在屏幕上均匀分布3个元素。就像下面这样:我在它们之间形成了水平链,如您所见,它们分布均匀并且运行良好。现在我想在每个元素内放置一个图像和一个居中的TextView,如下所示:所以这就是我尝试做的,以元素1为例:可悲的是,它似乎“打破”了3元素的链条。这3个元素现在不再水平展开,而是包裹成一个非常小的尺寸:如果我删除了ImageView和TextView之间的链,它就可以正常工作。但是我无法在元素内将ImageView和TextView居中。有没有人遇到过这样的事情?你是怎么
这是我的问题的再现:当您将父级高度设置为match_parent时,Barrier会按预期工作。但是,一旦您将它设置为wrap_content,它就不会正确地进行布局。下面是wrap_content的样子,右边是match_parent的样子:如果有人能指出正确的方向,我将不胜感激。我没有发现任何人反对以这种方式使用Barriers,但也没有发现任何人让这种布局发挥作用。这是我的错误还是Barrier中的错误? 最佳答案 不清楚您所说的“parent”是什么意思。如果我将ConstraintLayout(我能看到的唯一父项)的高度设
AndroidViewGroup具有以下添加(子)View的方法:我知道我们可以轻松地在xml中/以编程方式为LinearLayout定义水平/垂直方向,并添加subview,例如。与RelativeLayout类似,我们可以使用ViewGroup的addView和RelativeLayout.LayoutParams的方法:我还知道我们可以在ConstraintLayout中使用LinearLayout作为子项并使用它。是否有任何可靠的推荐方法可以动态地将subview添加到ConstraintLayout?更新:让我举一个我想要实现的不太简单的例子。假设您有一个View1、View
在android应用程序中,我试图以编程方式将自定义的ConstraintLayoutView添加到垂直方向的LinearLayout。我在ConstraintLayout中将LayoutParams的宽度设置为MATCH_PARENT,将高度设置为WRAP_CONTENT。但是,当我运行该应用程序时,ConstraintView全部被揉成一团并且内容重叠。下面是一些相关的fragment和我的应用程序的屏幕截图。我该如何解决这个问题?publicclassItemViewextendsConstraintLayout{LinearLayoutlinearButtons;LinearL
我注意到从1.1.2到1.1.3的ConstraintLayout行为有一个奇怪的变化,这会导致很多布局问题。另外,我个人认为这是一个bug,因为这个行为应该是不正确的。检查以下布局:以下是此布局在ConstraintLayout的1.1.2和1.1.3中的呈现方式:现在我们将android:visibility="gone"添加到test1_btn。在ConstraintLayout版本1.1.2中,布局渲染如下:这是完全合乎逻辑的,因为我们设置了app:layout_constraintHorizontal_bias="1",所以test2_btn应该位于最右边链。现在如果我们
我有一个非常简单的布局,可以用一个总是有效的RelativeLayout代替。然而,无论我把边距放在什么地方,它们都会被忽略,不,我不想使用填充,不,链也不能解决问题。有什么想法吗?例如,日期或制造商的边距会被忽略。版本compile'com.android.support.constraint:constraint-layout:1.0.2'工具compileSdkVersion27buildToolsVersion'27.0.2' 最佳答案 对不起,我的错。问题的根本原因是我一直在使用的风格。它定义了android:layout
我有一个StaggeredLayoutRecyclerView使用CardView填充不同的卡片,在这些卡片中通常有一个ConstraintLayout所有字段都为空。一切都以wrap_content作为高度。我的问题是CardView的高度似乎是在填充任何数据之前计算的,之后没有更新。我已经尝试直接无效,将measureAllChildren设置为true,在itemView上使用requestLayout并使底部项目对parent的底部,但问题仍然存在。字段在适配器上的方法onBindViewHolder中填充,如下所示:DataExampleexample=mItems.get(
我试图通过单击按钮来更改背景,但我无法在Java代码中识别约束布局。activity_main.xml://herearesomebuttonoptionsMainActivity.java:packagefrekzok.trafficlight;importandroid.support.constraint.ConstraintLayout;importandroid.support.v4.content.ContextCompat;importandroid.support.v7.app.AppCompatActivity;importandroid.os.Bundle;impo
我想以编程方式将一个ConstraintLayout放入另一个ConstraintLayout中。但是,如果我按照之前使用RelativeLayout的方式对其进行膨胀,它不会显示。这是代码内部文件inner_area.xml:.....外层布局文件parent.xml:Java代码:ViewGroupparentView=rootView.findViewById(R.id.parentView);finalConstraintLayoutinnerArea=(ConstraintLayout)inflater.inflate(R.layout.inner_area,containe
我正在使用LeakCanary检测应用程序中的内存泄漏。我使用它成功地识别并修复了一些漏洞,但我正在努力寻找这个漏洞的根源:*android.support.constraint.ConstraintLayouthasleaked:*Toast$TN.mNextView*↳LinearLayout.mContext*↳HomeActivity.!(mDelegate)!*↳AppCompatDelegateImplN.!(mActionBar)!*↳ToolbarActionBar.!(mDecorToolbar)!*↳ToolbarWidgetWrapper.!(mToolbar)!