在 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的主要内容,如果未能解决你的问题,请参考以下文章

按钮始终显示在 FrameLayout 的顶部

Android中FrameLayout总结

android FrameLayout详解

java 一个简单的FrameLayout,可以在UI顶部隐藏/显示不确定的ProgressBar

将片段附加到framelayout时如何删除空格

java 一个FrameLayout,可以一次显示一个不同的状态。