gpt4 book ai didi

android - 不正确的用户界面 - 安卓

转载 作者:行者123 更新时间:2023-12-05 00:19:23 25 4
gpt4 key购买 nike

我正在尝试构建一个 UI,如下图所示:
也请检查:https://imgur.com/a/fXPRBez
proper UI
我的代码:

<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="24dp"
android:layout_marginEnd="16dp"
android:background="@drawable/drawableborder"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent">

<ImageView
android:id="@+id/iv_attachment"
android:layout_width="18dp"
android:layout_height="18dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:layout_marginBottom="8dp"
android:paddingStart="@dimen/padding_big"
android:paddingEnd="@dimen/padding_big"
android:scaleType="centerInside"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/frameLayout"
app:srcCompat="@drawable/ic_gallery" />

<androidx.recyclerview.widget.RecyclerView
android:id="@+id/gv_attach_image"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="8dp"
android:layout_toStartOf="@+id/iv_attachment"
android:layout_toLeftOf="@+id/iv_attachment"
android:nestedScrollingEnabled="true"
android:numColumns="3"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tell_us_more" />

<com.google.android.material.textfield.TextInputLayout
android:id="@+id/tell_us_more"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:hint="@string/what_do_you_need_help"
app:layout_constraintTop_toTopOf="parent">

<com.google.android.material.textfield.TextInputEditText
android:id="@+id/tell_us_moreone"
style="@style/whathelpdoyouneedontextinput"
android:layout_width="match_parent"
android:layout_height="wrap_content" />

</com.google.android.material.textfield.TextInputLayout>

<FrameLayout
android:id="@+id/frameLayout"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/dell_grey2"
app:layout_constraintTop_toBottomOf="@+id/gv_attach_image">

</FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
这会产生如下所示的 UI:
improper UI
如您所见,这会在 TextInputLayout 之间产生一个小间隙。和边界。我该如何解决?

最佳答案

您可以执行以下操作:

<LinearLayout
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"
android:layout_marginStart="16dp"
android:layout_marginTop="24dp"
android:layout_marginEnd="16dp"
android:orientation="vertical"
>

<com.google.android.material.textfield.TextInputLayout
android:id="@+id/tell_us_more"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:hint="@string/hint_tell_us"
app:boxStrokeColor="@color/......"
app:placeholderText="Required"
app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.top">

<com.google.android.material.textfield.TextInputEditText
android:id="@+id/tell_us_moreone"
android:layout_width="match_parent"
android:layout_height="wrap_content" />

</com.google.android.material.textfield.TextInputLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/shape_rounded"
android:gravity="end">

<ImageView
android:id="@+id/iv_attachment"
android:layout_width="18dp"
android:layout_height="18dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:layout_marginBottom="8dp"
android:paddingStart="16dp"
android:paddingEnd="16dp"
android:scaleType="centerInside"
app:srcCompat="@drawable/ic_menu_gallery" />

</LinearLayout>


</LinearLayout>
您可以申请 shapeAppearanceOverlay 给您的 TextInputLayout获得不同的角:
<style name="ShapeAppearanceOverlay.top" parent="">
<item name="cornerSizeBottomRight">0dp</item>
<item name="cornerSizeBottomLeft">0dp</item>
</style>
在包含图像的布局中,使用只有 3 个边的形状背景:
<inset xmlns:android="http://schemas.android.com/apk/res/android"
android:insetTop="-2dp">
<shape>
<stroke android:width="1dp" android:color="@color/...." />
<corners
android:bottomRightRadius="8dp"
android:bottomLeftRadius="8dp"/>

<solid android:color="#FFFFFF"/>
</shape>
</inset>
最后是 TextInputLayout使用带有 的占位符app:placeholderText="Required" 和带有红色星号的 float 标签(提示)。
1.2.0-alpha05 开始您可以格式化提示文本。
例如,您可以使用类似的东西:
<com.google.android.material.textfield.TextInputLayout
android:hint="@string/hint_tell_us"
...>
和:
<string name="hint_tell_us"><font fgcolor='#FF0000'>*</font> Tell us more about the issue</string>
enter image description here
enter image description here

关于android - 不正确的用户界面 - 安卓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63131832/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com