Articles of android constraintlayout

如何在ConstraintLayout中使用创建者

在ConstraintLayout我们有新types的param creator : layout_constraintTop_creator或layout_constraintRight_creator应该如何使用它?

另一个视图限制ConstraintLayout中的宽度

是否有可能(在ConstraintLayout )只有在他右边有另一个视图的空间时才让视图增长? 用例是除了彼此之外还有一个value和unit TextViews。 只要有unit空间,TextView的value应该能够增长。 如果没有足够的空间,则应该删除该value 。 我用链子和其他一些东西尝试过但是无法完成它。 该value不会停止增长,然后该unit不再可见。 这是当前的代码:

如何在约束布局中叠加视图?

我有这个登录活动的布局。 我想覆盖progressBar ,就像使用FrameLayout可以完成一样。 如何使用ConstraintLayout执行此操作? 它看起来像这样: 我正在寻找适用于API级别19+的解决方案。 我不希望在ViewGroup Button或ProgressBar ,从而在我的布局中添加更多层次结构。

android – 布局看起来在一些设备中搞砸了

布局时我遇到了一个非常奇怪的问题。 它看起来像在eclipse XML编辑器和我的三星Galaxy中设计,但它在我的旧手机xperia x10 mini中搞砸了。 我只能假设这也会在其他设备中发生。 如果有人可以帮忙解决这个问题,我将不胜感激。 以下是两个屏幕截图和XML代码。 它在eclipse布局编辑器和我的三星galaxy S4 mini中看起来如何 它在Sony xperia x10 mini中的外观如何 这就是ImageViews的风格 40dp 40dp true @drawable/ta 有任何想法吗??? 编辑:我将所有dp值除以2,看看问题是我使用的是高dp值。 这是同时具有两个版本的结果:

在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 结果是此实际结果 但我希望它成为预期的结果 我试过这个,但它不起作用 我很乐意有你的解决方案, 谢谢