Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取以线性布局显示的视图_Java_Android - Fatal编程技术网

Java 获取以线性布局显示的视图

Java 获取以线性布局显示的视图,java,android,Java,Android,我有一个名为Game的类,它扩展了视图。我有一个名为game.xml的xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/game_layout" android:orientation="vertical" android:layo

我有一个名为Game的类,它扩展了视图。我有一个名为game.xml的xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/game_layout"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
</LinearLayout>
现在当我运行这个程序时,它只是一个空白屏幕。我做错了什么?onDraw方法很好,因为当我这样做时,它工作得很好:

public Game(Activity activ)
{
    activ.setContentView(this);
}

public void onDraw(Canvas canvas)
{
    board.draw(canvas);
}

但我不能再这样做的原因是,在平板电脑的底部有一个栏,上面有后退按钮和显示键盘按钮。当我这样做的时候,它会在那个条下面画,并且会切断图像。如果我这样做,那么Android会设置布局的边界,使其不在该条之下。无论如何,我更愿意使用xml布局,因为我认为使用xml布局而不是将自定义视图设置为内容视图时,Android会更好地工作。所有相关的答案都是正确的

我认为您无法查看视图,因为您尚未指定任何布局参数。 在调用addView方法之前,请尝试此操作

ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(LayoutParams.FILL_PARENT,
        LayoutParams.FILL_PARENT);
layout.addView(this);
实现这一点的xml方法是。 在xml文件中,可以包含自定义视图,如

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/game_layout" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent">
    <com.yourpackage.Game android:layout_width="fill_parent"
        android:layout_height="fill_parent"/> 
</LinearLayout> 


您无法删除导航栏。它是特意这样构建的,因此用户可以在你的应用程序中导航或导航。是的,你需要这样做。或者这也适用于layout.addView(this,lp);好的,谢谢,我会向上投票,但我只有3分,但答案很棒!继续呆在这里。你最终会获得声誉和知识。很高兴它起作用了。
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/game_layout" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent">
    <com.yourpackage.Game android:layout_width="fill_parent"
        android:layout_height="fill_parent"/> 
</LinearLayout>