Questions tagged «android-constraintlayout»

Android支持存储库中提供了一种新型布局,该布局基于灵活约束系统之上,可标记视图之间的相对位置。


14
如何使ConstraintLayout使用百分比值?
Google通过Android Studio 2.2的Preview 1在其支持库中发布了新的布局:ConstraintLayout。使用ConstraintLayout可以更轻松地在Android Studio中使用设计工具,但是我没有找到使用相对大小(如LinearLayout中的百分比或“权重”)的方法。有没有一种方法可以基于百分比定义约束?例如,使一个视图占据屏幕的40%,在视图之间创建20%的边距,将一个视图的宽度设置为另一个视图的宽度的50%?

6
如何在ConstraintLayout中将元素居中
我正在ConstraintLayout应用程序中进行布局。我想一个创建屏幕wheren一个EditText,并Button应在中心和Button应低于EditText与marginTop只16DP。 这是我的布局和屏幕截图,目前情况如何。 activity_authenticate_content.xml <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="16dp" android:paddingRight="16dp" tools:context="com.icici.iciciappathon.login.AuthenticationActivity"> <android.support.design.widget.TextInputLayout android:id="@+id/client_id_input_layout" android:layout_width="0dp" android:layout_height="wrap_content" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent"> <android.support.design.widget.TextInputEditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/login_client_id" android:inputType="textEmailAddress" /> </android.support.design.widget.TextInputLayout> <android.support.v7.widget.AppCompatButton android:id="@+id/authenticate" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:text="@string/login_auth" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="@id/client_id_input_layout" app:layout_constraintRight_toRightOf="@id/client_id_input_layout" app:layout_constraintTop_toTopOf="@id/client_id_input_layout" /> </android.support.constraint.ConstraintLayout>


15
Android-如何制作可滚动的constraintlayout?
我想制作一个可以让我使用约束布局向下滚动的布局,但是我不知道该怎么做。应该是ScrollView这样的父母ConstraintLayout吗? <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:fillViewport="true"> <android.support.constraint.ConstraintLayout android:id="@+id/Constraint" android:layout_width="match_parent" android:layout_height="match_parent"/> 还是相反?也许有人可以给我指出一个很好的教程或举一个例子,但我似乎找不到一个。 另外,我不知道这是我尚未设置的错误还是某些配置,但是我看到过类似这样的图像: 在蓝图“蓝色矩形”之外有一些组件,但它们仍然可见,而在我这一边,如果我将组件放在“空白”上,则看不到它或将其移动到任何地方,并且它出现在组件树中。 更新: 我找到了一种在设计工具中使约束布局可滚动的方法,即使用水平指导线向下推约束布局边界并将其扩展到设备之外,之后,您可以将该准则用作约束布局的新底部,以锚定组件。


7
ConstraintLayout内部的Wrap_content视图延伸到屏幕外部
我正在尝试使用来实现一个简单的聊天气泡ConstraintLayout。这是我要实现的目标: 但是,wrap_content似乎不能在约束条件下正常工作。它尊重边距,但不能正确计算可用空间。这是我的布局: <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/chat_message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="16dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintHorizontal_bias="0" tools:background="@drawable/chat_message_bubble" tools:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris sodales accumsan tortor at bibendum." android:layout_marginStart="64dp" android:layout_marginLeft="64dp" android:layout_marginEnd="32dp" android:layout_marginRight="32dp" android:layout_marginTop="8dp" android:layout_marginBottom="8dp" /> </android.support.constraint.ConstraintLayout> 如下所示: 我正在使用com.android.support.constraint:constraint-layout:1.0.0-beta4。 难道我做错了什么?它是错误还是只是非直觉的行为?ConstraintLayout我可以使用来实现正确的行为吗(我知道我可以使用其他布局,我正在ConstrainLayout专门询问)。


5
ConstraintLayout:以编程方式更改约束
我需要帮助ConstraintSet。我的目标是在代码中更改视图的约束,但是我无法弄清楚如何正确执行此操作。 我有4 TextView秒一ImageView。我需要将ImageView约束设置为之一TextView。 check_answer4 = (TextView) findViewById(R.id.check_answer4); check_answer1 = (TextView) findViewById(R.id.check_answer1); check_answer2 = (TextView) findViewById(R.id.check_answer2); check_answer3 = (TextView) findViewById(R.id.check_answer3); correct_answer_icon = (ImageView) findViewById(R.id.correct_answer_icon); 如果第一个答案是正确的,我需要的一组约束ImageView来 app:layout_constraintRight_toRightOf="@+id/check_answer1" app:layout_constraintTop_toTopOf="@+id/check_answer1" 如果第二个答案是正确的,我需要将约束设置ImageView为 app:layout_constraintRight_toRightOf="@+id/check_answer2" app:layout_constraintTop_toTopOf="@+id/check_answer2" 等等。

7
Android ConstraintLayout-将一个视图放在另一个视图之上
我正在尝试ProgressBar在上方添加一个Button(两者都在内ConstraintLayout)。 <Button android:id="@+id/sign_in_button" android:layout_width="280dp" android:layout_height="75dp" android:layout_marginBottom="75dp" android:layout_marginTop="50dp" android:text="@string/sign_in" android:textColor="@color/white" android:textSize="22sp" android:textStyle="bold" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toBottomOf="@+id/passwordEditText" app:layout_constraintVertical_bias="0.0"/> <ProgressBar android:id="@+id/progressBar" style="?android:attr/progressBarStyle" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_constraintTop_toTopOf="@+id/sign_in_button" android:layout_marginTop="8dp" app:layout_constraintBottom_toBottomOf="@+id/sign_in_button" android:layout_marginBottom="8dp" app:layout_constraintVertical_bias="0.5" android:layout_marginLeft="8dp" app:layout_constraintLeft_toLeftOf="@+id/sign_in_button" android:layout_marginRight="8dp" app:layout_constraintRight_toRightOf="@+id/sign_in_button"/> 但即使打完电话后bringToFront上ProgressBar的onCreate,它总是背后的支柱Button。 ProgressBar progressBar = (ProgressBar)findViewById(R.id.progressBar); progressBar.bringToFront();

9
是否可以将ConstraintLayout放入ScrollView中?
所以最近,随着Android Studio 2.2的推出,新的ConstraintLayout使设计变得更加容易,但与RelativeLayoutand 不同的是Linearlayout,我不能使用ScrollView来环绕ConstraintLayot。这可能吗?如果是这样,怎么办? 即 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:layout_editor_absoluteX="0dp" tools:layout_editor_absoluteY="0dp"> <android.support.constraint.ConstraintLayout android:id="@+id/constraintLayout" android:layout_width="match_parent" android:layout_height="match_parent" tools:layout_editor_absoluteX="0dp" tools:layout_editor_absoluteY="0dp"> <!-- Have whatever children you want inside --> </android.support.constraint.ConstraintLayout> </ScrollView>

7
约束布局垂直对齐中心
如何在约束布局中垂直对齐和居中对象?可以垂直或水平对齐,但是除了约束两条网格线之间的视图外,我还没有找到一种同时居中的方法。 垂直对齐中心: 居中似乎是约束布局的一个巨大问题,它迫使我回到“ centerInParent”,“ centerVertical”和“ centerHorizo​​ntal”的相对布局。 我想使用约束布局创建以红色框出的布局: 不幸的是,我发现不使用两条网格线的唯一方法是使用嵌套的Relative和LinearLayouts(应该使用约束布局来解决这种确切的情况!)。 使用相对和线性布局的布局: <RelativeLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginTop="12dp" app:layout_constraintTop_toBottomOf="@id/user_points" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent"> <LinearLayout android:id="@+id/stat_1_layout" android:layout_width="60dp" android:layout_height="wrap_content" android:layout_marginLeft="12dp" android:layout_marginRight="12dp" android:layout_centerVertical="true" android:layout_toLeftOf="@+id/divider_1" android:orientation="vertical"> <TextView android:id="@+id/stat_1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:gravity="center_horizontal" android:text="10" android:textSize="16dp" android:textColor="@color/textSecondaryDark" android:maxLines="1"/> <TextView android:id="@+id/stat_detail_1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:gravity="center" android:text="Streak" android:textSize="8sp" android:textColor="@color/textSecondary" android:maxLines="1"/> </LinearLayout> <View android:id="@+id/divider_1" android:layout_width="1dp" android:layout_height="38dp" …

11
设置宽度以匹配ConstraintLayout中的约束
我想将视图的左右两侧限制为父视图的边距,并使其填充分配的空间。但是,将width设置为match_parent或wrap_content似乎会产生相同的结果。 是否有等同于match_constraints的东西(与match_parent和wrap_content相反)?难道match_parent和wrap_content影响布局还是他们在新的约束布局忽略? 为我最喜欢的平台爱上这个新的布局系统!


3
ConstraintLayout纵横比
考虑以下布局文件: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.constraint.ConstraintLayout android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#FF0000" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin"> <ImageView android:layout_width="0dp" android:layout_height="0dp" android:background="#0000FF" android:padding="16dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintDimensionRatio="H,3:1" tools:layout_editor_absoluteX="16dp" /> </android.support.constraint.ConstraintLayout> </RelativeLayout> 我不确定app:layout_constraintDimensionRatio的工作方式。我的理解是比率将始终是宽度:高度。因此3:1将始终使ImageView出现的宽度是高度的3倍。前缀H或W告诉ConstraintLayout哪个尺寸应遵守该比率。如果为H,则意味着将首先根据其他约束条件计算宽度,然后根据宽高比调整高度。但这是布局的结果: 高度是宽度的3倍,这是意外的。谁能向我解释如何针对app:layout_constraintDimensionRatio设置计算尺寸?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.