Java 使用预定义的布局在Android中以编程方式添加视图

Java 使用预定义的布局在Android中以编程方式添加视图,java,android,xml,Java,Android,Xml,我经常发现自己以编程方式添加视图,然后一个接一个地更改它的一些属性。这不是什么大不了的事,直到我必须去改变一些东西,比如它的高度或宽度,因为然后我必须做一个dpi计算。有没有办法扭转这种局面: TextView view = new TextView(activity); view.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); view.setText(names[po

我经常发现自己以编程方式添加视图,然后一个接一个地更改它的一些属性。这不是什么大不了的事,直到我必须去改变一些东西,比如它的高度或宽度,因为然后我必须做一个dpi计算。有没有办法扭转这种局面:

TextView view = new TextView(activity);
view.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.FILL_PARENT));
view.setText(names[position]);
view.setTextColor(myColor);
为此:

TextView view = new TextView(activity);
view.setLayout(R.layout.sample);

我觉得一定有办法,但当我在网上搜索时,我想不出一个词来描述视图对布局的影响。这就是为什么我选择了添加到视图中的“预定义布局”。这可能吗?提前谢谢

不完全是,但有点像。可以通过编程方式从XML布局展开视图:

TextView view = (TextView) getLayoutInflater().inflate(R.layout.sample, parentViewGroup);

始终可以对布局文件进行充气,然后只需添加充气视图即可对布局进行充气?我可以把它附在视图上?!通过将
parentViewGroup
作为
inflate()
调用的第二个参数,而不是
null
,可以改进此答案。如果未传递视图容器,则膨胀视图的任何布局属性都将被忽略!说得好。不知道我为什么不把它放在那里。已编辑,谢谢。我正在尝试输入
parentViewGroup
,但我得到的
parentViewGroup无法解析为变量
@EGHDK是的,
parentViewGroup
只是我为表示父视图组而编写的一个通用变量。这通常是您希望
文本视图
处于的
相对布局
线性布局
。如果您希望您的
TextView
作为根视图,那么只需将
null
替换为
parentViewGroup
。如果我不想将其放在该行的任何位置,该怎么办?在下一行中,我可以执行ViewGroup.addView(视图)吗?