我想构建一个layout
所以我可以从中获取一些参数(getLineBounds()
TextView
)但是在我构建布局之前,我一直都是0。
另一方面,我不希望用户看到这种布局,有没有办法在没有任何用户显示的情况下“构建”布局?
感谢
答案 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);
根据您的需要调整widthMeasureSpec
和heightMeasureSpec
。
答案 2 :(得分:0)
除非您的视图在屏幕上,否则您不会有除0以外的宽度或高度属性。最好的办法是将视图放入framelayout,然后您可以在其上添加一个不可见的textview然后您可以获得您的宽度和高度。
答案 3 :(得分:0)
尝试yourlayout.setVisibility(View.INVISIBLE);
关于可见性状态,您可以在此处阅读:View setVisibility