如何在Android中构建布局而不显示它?

时间:2013-11-27 19:38:25

标签: android android-layout

我想构建一个layout所以我可以从中获取一些参数(getLineBounds() TextView)但是在我构建布局之前,我一直都是0。
另一方面,我不希望用户看到这种布局,有没有办法在没有任何用户显示的情况下“构建”布局?
感谢

4 个答案:

答案 0 :(得分:0)

如果我理解你的问题。在单独的xml文件中创建布局,然后使用

View view = inflater.inflate(R.layout.YOUR_XML)

这只会创建视图但不会显示它。

答案 1 :(得分:0)

根据documentation getLineBounds(),如果尚未构建内部布局,则返回0。为了构建内部布局,您必须测量视图。

TextView textView = new TextView(context);
textView.setText("foo bar");
int widthMeasureSpec = MeasureSpec.makeMeasureSpec(500, MeasureSpec.EXACTLY);
int heightMeasureSpec = MeasureSpec.makeMeasureSpec(500, MeasureSpec.AT_MOST);
textView.measure(widthMeasureSpec, heightMeasureSpec);
int lineBounds = textView.getLineBounds(0, null);

根据您的需要调整widthMeasureSpecheightMeasureSpec

答案 2 :(得分:0)

除非您的视图在屏幕上,否则您不会有除0以外的宽度或高度属性。最好的办法是将视图放入framelayout,然后您可以在其上添加一个不可见的textview然后您可以获得您的宽度和高度。

答案 3 :(得分:0)

尝试yourlayout.setVisibility(View.INVISIBLE);

关于可见性状态,您可以在此处阅读:View setVisibility