带有 xml 的 CustomView 不显示在屏幕上

Posted

技术标签:

【中文标题】带有 xml 的 CustomView 不显示在屏幕上【英文标题】:CustomView with xml doesn't show up on screen 【发布时间】:2019-01-23 05:00:05 【问题描述】:

我正在尝试将我的自定义视图添加到主要活动的 xml。 我为视图创建了以下 xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_
    android:layout_>

    <TextView
        android:layout_
        android:layout_
        android:text="Testing custom view"
        android:textSize="20dp" />
</LinearLayout>

并创建了下面的类,上面的xml被夸大了:

public class TestView extends LinearLayout 
public TestView(Context context, @Nullable AttributeSet attrs) 
    super(context, attrs);
    View.inflate(context, R.layout.test_name, null);


在主要活动的 xml 中,我添加了如下自定义视图:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_
    android:layout_
    tools:context="com.example.myapplication.MainActivity">

<com.example.myapplication.TestView
    android:id="@+id/submit_area"
    android:layout_
    android:layout_ />
</LinearLayout>

当我运行应用程序时,我得到一个空白屏幕。它没有显示显示“测试自定义视图”的文本视图。 任何帮助将不胜感激。 谢谢

【问题讨论】:

设置背景颜色TestView然后检查它的显示与否 不,它不显示。更改了颜色,但不显示。 【参考方案1】:

您的自定义视图中的视图膨胀代码看起来有问题。请按照下面给出的方式尝试。

  LayoutInflater inflater = (LayoutInflater) context
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    inflater.inflate(R.layout.view_color_options, this, true);

【讨论】:

以上是关于带有 xml 的 CustomView 不显示在屏幕上的主要内容,如果未能解决你的问题,请参考以下文章

带有customView的自动布局iOS 11工具栏UIBarButtonItem

CustomView 无法实例化(编辑器预览错误,编译后没有显示)

带有 customView 的 UIBarButtonItem 在 iOS4.1 中消失了

显示来自 Xib 的自定义视图

opengl 渲染方式在屏 离屏 CPU

更多对象的CustomView android