gpt4 book ai didi

android - 在没有额外 View 层次结构的情况下创建自定义 View

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:46:32 24 4
gpt4 key购买 nike

我通常会创建一个自定义 View ,例如,

public class MyView extends LinearLayout{

public MyView(Context context){
super(context);

//Inflating my custom layout
LayoutInflater inflater = getLayoutInflater();
inflater.inflate(R.layout.view_layout, this);

}

}

上面布局的问题是,它会创建一个新的 LinearLayout 并在其中膨胀 R.layout.view_layout,添加一个新的 View 层次结构,这是不受欢迎的.

R.layout.view_layout 包含带有许多子元素的 RelativeLayout,我无法通过扩展 RelativeLayout 以编程方式添加它们(因为定位很困难) .

拥有不必要的层次结构会降低我的应用程序的速度。

在没有额外层次结构的情况下创建自定义 View / View 组的最佳方法是什么。

Solved as per the soln by CommonsWare:

XML 布局:

<merge>

<TextView ...
.../>

More items

</merge>

由于 XML 布局有 RelativeLayout 作为父 View ,我将在代码中扩展 RelativeLayout 而不是 LinearLayout

public class MyView extends RelativeLayout{

public MyView(Context context){
super(context);

//Inflating my custom layout
LayoutInflater inflater = getLayoutInflater();
inflater.inflate(R.layout.view_layout, this);

}

}

最佳答案

res/layout/view_layout.xmla <merge> element 开始而不是 LinearLayout .

关于android - 在没有额外 View 层次结构的情况下创建自定义 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19371332/

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