gpt4 book ai didi

android - 高度和边距不适用于膨胀和添加 View ?

转载 作者:行者123 更新时间:2023-12-04 23:56:38 25 4
gpt4 key购买 nike

这是我的 EditText

<?xml version="1.0" encoding="utf-8"?>
<EditText
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="49dp"
android:layout_marginTop="3dp"
android:text=""
android:ems="10"
android:gravity="center_vertical"
android:imeOptions="actionNext"
android:maxLines="1"
android:background="@drawable/profile_edt_round_corners"
android:drawablePadding="5dp"
android:textSize="14sp"
android:hint=""
tools:ignore="RtlSymmetry"
android:textColor="#4a4a4a"/>

膨胀 View

private fun getRoundedEditText() =
layoutInflater.inflate(R.layout.v_rounded_corners, null) as EditText

设置值

private fun addDataToParents() {
val editTextView = getRoundedEditText()
editTextView.setText("Parent 1")
ll_parents_guardian_container.addView(editTextView)
val editTextView2 = getRoundedEditText()
editTextView2.setText("Parent 2")
ll_parents_guardian_container.addView(editTextView2)
}

ll_parents_guardian_container 在哪里

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/ll_parents_guardian_container"
android:orientation="vertical">
</LinearLayout>

然而,我已经在 XML 中定义的 layout_marginToplayout_height 并没有反射(reflect)在那里。

最佳答案

我发现了问题。

layoutInflater.inflate(R.layout.v_rounded_corners, null) as EditText

在膨胀具有边距/高度属性的 View 时,您不应将根作为 null 传递。这就是问题的原因。因为膨胀 View 需要根来绘制布局参数。

所以用你要添加的 View 来改变它。

layoutInflater.inflate(R.layout.v_rounded_corners, ll_parents_guardian_container ) as EditText

关于android - 高度和边距不适用于膨胀和添加 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57460107/

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