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

时间:2016-08-08 16:39:09

标签: android android-layout android-6.0-marshmallow

如何添加我的操作栏来查看(Canvas)类?

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);
}

Here is my project.

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

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

谢谢你们!如果它可以,你们可以包括。一个解释呢?我是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>

2 个答案:

答案 0 :(得分:0)

在带有工具栏和按钮的视图的布局编辑器中,在编辑器中向下滚动到您看到的位置&#34;自定义视图&#34;。

从那里开始输入,您可以添加自定义View类,并在所需的XML中添加。

custom view

答案 1 :(得分:0)

您的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>

然后在你的活动中做

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