在 FrameLayout 中显示 TextView
Posted
技术标签:
【中文标题】在 FrameLayout 中显示 TextView【英文标题】:Show a TextView in a FrameLayout 【发布时间】:2017-11-17 18:47:13 【问题描述】:当标记可见时,我试图。
就像下面的代码:
FrameLayout frameLay = new FrameLayout(context); FrameLayout.LayoutParams layoutParamsFrame = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.FILL_PARENT, FrameLayout.LayoutParams.FILL_PARENT); frameLay.setLayoutParams(layoutParamsFrame); TextView theText = new TextView(context); theText.setText("text_test"); theText.setTextColor(Color.WHITE); theText.setTypeface(Typeface.DEFAULT_BOLD); LayoutParams layoutParamsText = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); theText.setLayoutParams(layoutParamsText); theText.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM); 第一个=真; frameLay.addView(theText);这对我不起作用。标记可见,我执行此代码,但没有任何反应。 我怎样才能解决这个问题?
【问题讨论】:
可见的“标记”是什么?另外,您是否有理由以编程方式而不是通过 XML 来执行此操作?通常对于简单的布局,XML 使一切变得更容易。 我只想在某些图片(或更多)在显示(标记)中可见时显示,有时可能有多个文本,所以我不认为 XML 在这种情况下工作 【参考方案1】:你可以阅读这个post 它解释了如何将 TextView 添加到 FrameLayout
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT, Gravity.CENTER);
((FrameLayout) findViewById(R.id.mainLayout)).addView(mEditText, params);
所以基本上你必须给addView
添加两个参数
所以变成了
frameLay.addView(theText,layoutParamsText);
【讨论】:
以上是关于在 FrameLayout 中显示 TextView的主要内容,如果未能解决你的问题,请参考以下文章