如何覆盖在Canvas(Android)之上

时间:2017-06-24 19:05:36

标签: java android xml android-layout

如何在画布上叠加按钮,文字等?

我有一项活动:

public class GameActivity extends AppCompatActivity {
    private GameView gameView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        gameView = new GameView(this, scrWidth, scrHeight);
        setContentView(gameView);
    }
}

使用以下activity_game XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.exampl.proj.GameActivity">
</RelativeLayout>

所有绘图都在GameView类中进行。

public class GameView extends SurfaceView implements Runnable {

我试图在XML中放入一个ImageButton,但它不会出现我猜它是因为setContentView专注于gameView类。

是否可以将setContentView设置为activity_game XML布局并保持GameView运行并能将params传递给构造函数?

1 个答案:

答案 0 :(得分:1)

使用GameView和单个布局中的其他视图创建布局,然后将setContentView设置为该布局。