我通过约束布局制作许多按钮的UI来输入文本。 例如,下图。
但是,我觉得奇怪的是android studio变得非常慢,因为我放了更多的UI和自适应钩子允许我设置,有时消失(ex.some按钮'允许disapper head row在图像上方)。它应该使用非常大的内存我想自由记忆计算位置并重新渲染UI。 我可以避免这种情况吗?或使用其他布局制作相同UI的替代方法。我对此问题非常紧张,因为我无法理解制作网格灵活扩展UI的最佳方法。任何提示都会对我有帮助。
答案 0 :(得分:0)
我可以使用包含按钮嵌套约束视图的网格布局解决问题,这似乎是相对定位UI的最佳方式。
<?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="match_parent">
<EditText
android:layout_width="456dp"
android:layout_height="64dp"
android:inputType="textPersonName"
android:text="Name"
android:ems="10"
android:id="@+id/editText"
android:layout_marginTop="16dp"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginStart="16dp"
app:layout_constraintLeft_toLeftOf="parent"
android:layout_marginEnd="16dp"
app:layout_constraintRight_toRightOf="parent" />
<GridLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:columnCount="8"
android:rowCount="5"
android:useDefaultMargins="true"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_marginBottom="32dp"
android:foregroundGravity="center_horizontal"
android:layout_marginStart="16dp"
app:layout_constraintLeft_toLeftOf="parent"
android:layout_marginEnd="16dp"
app:layout_constraintRight_toRightOf="parent"
android:layout_marginTop="8dp"
app:layout_constraintTop_toBottomOf="@+id/editText"
app:layout_constraintVertical_bias="0.81">
<Button
android:text="button"
android:layout_width="88dp"
android:background="@drawable/oval_btn"
android:id="@+id/str_wa"
android:layout_height="88dp"
tools:layout_editor_absoluteY="520dp"
tools:layout_editor_absoluteX="529dp" /> ・・・・・・
你可以放置自己喜欢的东西。