Articles of android constraintlayout

在DialogFragment中显示ConstraintLayout

我希望你能解决我的问题。 我试图谷歌它,并在这里查看主题,但无法find答案。 我最近将我的布局更改为ConstraintLayouts ,到目前为止,这一切都很顺利。 然而我的问题是我有一些显示LinearLayout DialogFragments ,当我将其更改为ConstraintLayout我只显示一个褪色的叠加层,但不显示布局中的元素。 如果我将宽度和高度硬编码为100dp ,它将显示该区域。 当我尝试match_parent或任何其他组合时,同样的问题适用。 我也尝试将高度和宽度设置为设备的高度和宽度,但仍然没有运气。 在我的CreateWeddingMetadataFragment中的onCreateView中,我有: createButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Log.d(TAG, “Show message dialog”); FragmentManager fm = getFragmentManager(); CreateWeddingMetadataDialogFragment welcomeMessageDialog = new CreateWeddingMetadataDialogFragment(); welcomeMessageDialog.show(fm, “metadate_fragment_dialog”); welcomeMessageDialog.setOnDismissListener(new DialogInterface.OnDismissListener() { @Override public void onDismiss(DialogInterface dialog) { } }); 在我的CreateWeddingMetadataFragmentDialog中,我有: public class CreateWeddingMetadataDialogFragment extends DialogFragment{ private static […]

ConstraintLayout与RelativeLayout和CardView – 缓存和内存空间

我开发了一个应用程序,可以在移动设备上从json检索数据到本地数据库,并使用RecyclerView从本地数据库显示它,我的容器布局如下所示: 因此,当我使用CardView或RelativeLayout作为我的项目的容器时,它们使我的应用程序缓存和内存使用率非常高,我的DATA为20MB而My CACHE为50MB +,但在我将容器布局更改为ConstraintLayout之后 数据和缓存恢复到正常状态和小尺寸,如下所示: 我不知道CardView或RelativeLayout发生了什么让我的应用程序数据和缓存占用空间很大……也许有人可以解释一下。 提前致谢。

为什么Android Studio正在删除和/或更改layout_margin *约束?

我正在使用android.support.constraint.ConstraintLayout来布局简单卡片的内容视图。 我每次都会在以下情况下随机更改XML: 我切换到Android Studio的布局编辑器的“ Design选项卡 或者当我打开“ Preview窗格时(在这种情况下,更改会在我的更改期间更频繁地发生)。 随机变化包括: 删除我手动定义的布局边距(例如layout_marginEnd ) 更改我手动输入的边距值的值 添加tools:layout_editor_absoluteX值 问题: 其他人都有这个Android Studio的function吗? 如何关闭这个“function”,所以我的布局不会被破坏? 在哪里向Google或JetBrains报告此错误? 请看一下这个文件diff,它是在切换到Design选项卡时自动生成的: PS。:我的Android Studio版本是2.2.3 ; 我在macOS Sierra上运行它。 更新#1 正如所建议的那样,在制作layout_height=”match_parent” ,我不经常进行修改,但是当我在Layout Design’er中编辑布局时,我的XML仍然搞砸了: 这次我想通过设计UI设置layout_marginTop (选择的行是我想要添加的),但我还得到了其他不需要的更改: layout_marginStart已删除; app:layout_constraintBottom_toBottomOf引用的ID有一个前缀“+”符号,这意味着,这些ID是新声明的,所以当我使用Goto declarationfunction时,我将不得不从列表中选择它 – 而不是所需的行为。 tools:layout_editor_absoluteX被添加。 我可以忽略它,但仍然 – 不是我想要发生的事情。

Android使用include标记在ConstraintLayout中添加其他布局

我使用ConstraintLayout为测试制作了一些简单的应用程序。 但我有一些问题。 这是我的代码 activity_main.xml中 content_main.xml 代码结果 我希望“ content_main ”属于“Hellow world”! TextView中。 我在“ content_main ”元素中使用RelativeLayout,LinearLayout,ConstraintLayout。 但不行。 我find任何解决方案。 但我发现如何使用ConstraintLayout。 Android“include”标签在ConstraintLayout上无效吗?

Android Studio 2.2预览1 EditText错误

我正在尝试使用Android Studio 2.2预览1,但如果我创建一个新项目并添加一个简单的EditText并尝试运行,我收到以下错误。 05-20 15:53:00.748 11798-11798/br.com.tutorialandroid.sqlite E/AndroidRuntime: FATAL EXCEPTION: main Process: br.com.tutorialandroid.sqlite, PID: 11798 java.lang.RuntimeException: Unable to start activity ComponentInfo{br.com.tutorialandroid.sqlite/br.com.tutorialandroid.sqlite.MainActivity}: android.view.InflateException: Binary XML file line #14: Error inflating class EditText at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2658) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2723) at android.app.ActivityThread.access$900(ActivityThread.java:172) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1422) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:145) at android.app.ActivityThread.main(ActivityThread.java:5832) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194) Caused by: […]

如何将约束布局包含到另一个约束布局中并在每个布局之间设置约束

我正在使用constraintLyout v 1.0.1。 我想在我的xml中包含一个与我的全局布局的一部分相对应的子ConstraintLayout(它本身就是一个ConstraintLayout)。 我将布局分成两个xml,以便在其他地方使用这个子部分 我尝试了这个,但是我无法控制将子约束布局放在父级中的位置。 我想知道是否必须将所有内容放在同一个xml文件中,或者它们是否是使用单独文件的解决方案。 tmp_1.xml tmp_2.xml 结果是此实际结果 但我希望它成为预期的结果 我试过这个,但它不起作用 我很乐意有你的解决方案, 谢谢

如何以编程方式将视图和约束添加到ConstraintLayout?

我有一个问题,以编程方式将视图添加到Constraint Layout ,并设置布局工作所需的所有约束。 我目前所拥有的不起作用: ConstraintLayout layout = (ConstraintLayout) findViewById(R.id.mainConstraint); ConstraintSet set = new ConstraintSet(); set.clone(layout); ImageView view = new ImageView(this); layout.addView(view,0); set.connect(view.getId(), ConstraintSet.TOP, layout.getId(), ConstraintSet.TOP, 60); set.applyTo(layout); ImageView甚至没有出现在布局上。 添加到RelativeLayout ,它就像魅力一样。 我可以做些什么来创建我需要的约束,以便我的布局再次工作?

左上角的ConstraintLayout视图

每次我在ConstraintLayout创建像Button和TextView这样的视图时,它们都会卡在顶角而不是我放置它们的位置。 我尝试创建新活动并更改模拟器,但结果仍然相同。 这是正在发生的事情的屏幕截图: 可能是什么问题?

ConstraintLayout链和文本省略+右侧图像

更新2018年7月: 如果您使用的是ConstraintLayout 1.1.0 ,则使用的正确属性是app:layout_constrainedWidth=”true”代替旧app:layout_constraintWidth_default=”wrap” (以及高度对应项)。 查看更新的答案。 2017年11月更新: 如果您使用的是ConstraintLayout 1.0.0 stable(或更高版本)(此时为1.0.2),请参阅更新的答案以获得更简单的解决方案,而无需嵌套布局。 原始问题: 使用ConstraintLayouts-Beta3于2016年11月3日发布。( 来源 ) 我正在尝试执行以下操作: | | |<-[TextView][ImageView] ———–> | | | 我用这样的布局实现了这个目标: 这看起来不错,但是当文本比可用空间长时…… | | |<-[TextView Larger Than The Space Avail]| | | 文本视图具有指定以下内容的样式: 1 1 end 所以它应该工作,但我不确定我需要什么约束才能让图像滑到右边然后停在那里让文本视图理解没有更多的空间。 我错过了什么? 注意:如果我将textview的宽度设置为0dp,它可以工作,但是图像总是在右边(水平偏差似乎被忽略了) 注2: 我也尝试过beta2,事实上,看起来Beta3 在可视化编辑器中有一个错误 。 更新 :我试图在Xcode / AutoLayout中复制它: 这是短文本的外观 现在相同的布局,我只是在文本视图中键入一个长文本… 正如您所看到的,图像视图的轨迹(右)约束表示:您从右边距开始有8个或更多点。 它也固定在标签的左侧(textView)。 根据我刚从Twitter上学到的内容,目前在Android的ConstraintLayout上可能无法做到这一点: 来源

如何在约束布局1.1中使用新function?

有谁知道如何在约束布局1.1中使用新function,即障碍和基于百分比的维度? 绝对没有在线提供的文档,最近关于设计器工具的Google I / O讨论仅详细介绍了占位符。 顺便说一句,我发现了如何使用组,这也是一个新function。 你需要简单地添加 到您的约束布局,其中app:constraint_referenced_ids是一个字符串,您应该枚举要与该组关联的逗号分隔的视图ID。 现在,切换组的可见性会更改其引用的所有视图的可见性,我认为这是此function的主要目的。