如何将我的操作栏添加到我的视图 class?

How do i add my action bar to my view class?

如何将我的操作栏添加到视图中(Canvas)class?

public class MainActivity extends AppCompatActivity {


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);


    this.requestWindowFeature(Window.FEATURE_NO_TITLE);
    this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);


    //set paint color

    setContentView(R.layout.activity_main);
    //setContentView(new DrawView(this));


    Toolbar toolbar = (Toolbar) findViewById(R.id.my_toolbar);
    setSupportActionBar(toolbar);
    //DrawView.setPaint(255, 235, 191, 47);
}

这是我的项目 并且工具栏存储在 activity_main.xml.

我想要的视觉表现 :P 左边的屏幕截图是我使用 setContentView(R.layout.activity_main); 时的截图,右边的是 //setContentView(new DrawView(this));

谢谢大家!如果可以,你们可以吗?还有解释吗?我是 android 编程新手 :)

activity_main XML

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.nikol.touchpaint.MainActivity">
<!--    <view
        android:id="@+id/viewid"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />-->

    <android.support.v7.widget.Toolbar
        android:id="@+id/my_toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        android:elevation="4dp"
        android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
        android:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>

    <TextView
        android:id="@+id/testText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentStart="true"
        android:layout_marginBottom="151dp"
        android:text="Hello World!" />

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/button2"
        android:layout_toStartOf="@+id/button2"
        android:text="New Button" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentEnd="true"
        android:layout_marginBottom="29dp"
        android:layout_marginEnd="30dp"
        android:text="New Button" />

</RelativeLayout>

在带有工具栏和按钮的视图的布局编辑器中,在编辑器中向下滚动到您看到 "Custom View" 的位置。

从那里,您可以开始输入,您可以添加您的自定义 View class 并添加到 XML 中您想要的任何位置。

您的 activity_main.xml 应如下所示:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/contentView"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <com.example.nikol.touchpaint.DrawView
        android:id="@+id/drawView"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

</RelativeLayout>

然后在你的 activity 中做

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    DrawView drawView = findViewById(R.id.drawView);
}