gpt4 book ai didi

android - 在自定义 View xml 布局中

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:27:43 26 4
gpt4 key购买 nike

我有以下基于 RelativeLayout 的自定义 View :

public class LearningModeRadioButton extends
RelativeLayout
implements
Checkable,
View.OnClickListener {

private void init(Context context, AttributeSet attrs) {
LayoutInflater.from(context).inflate(R.layout.rb_learning_mode, this, true);
}
}

R.layout.rb_learning_mode内容是:

<?xml version="1.0" encoding="utf-8"?>

<merge
xmlns:android="http://schemas.android.com/apk/res/android"
>

<RadioButton
android:id="@+id/rb"
android:button="@drawable/sel_rb_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>

<TextView
android:id="@+id/tv_mode_title"
style="@style/text_regular"
android:layout_toRightOf="@+id/rb"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>

<TextView
android:id="@+id/tv_description"
style="@style/text_small"
android:layout_below="@+id/tv_mode_title"
android:layout_alignLeft="@+id/tv_mode_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>

</merge>

它有点工作,但布局参数 ( layout_xxx ) 被忽略了。我可以使用另一个 <RelativeLayout/>作为布局的根元素,但我想避免在 View 层次结构中有额外的级别。

所以问题是:如何在 <merge/> 中制作布局属性?工作?

最佳答案

对于可能仍在为此苦苦挣扎的任何人,您应该在合并标记内指定 parentTag 属性。您还需要指定 layout_heightlayout_width 才能使其正常工作。

    <merge
tools:parentTag="android.widget.RelativeLayout"
tools:layout_width="match_parent"
tools:layout_height="match_parent"
>
// Child Views
</merge>

编辑器现在应该正确显示所有内容。

关于android - <merge/> 在自定义 View xml 布局中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16813217/

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