其他分享
首页 > 其他分享> > Android浮动按钮未显示

Android浮动按钮未显示

作者:互联网

我尝试用画布制作绘图页面,并在角落添加浮动按钮以执行某些操作.但它没有出现.
这是我的课程

DrawView.java

public class DrawView extends View implements View.OnTouchListener {
private List<Point> points = new ArrayList<>();
private Paint paint = new Paint();

public DrawView(Context c) {
    super(c);
    setFocusable(true);
    setFocusableInTouchMode(true);
    this.setOnTouchListener(this);
    paint.setColor(Color.BLACK);
}

@Override
public void onDraw(Canvas canvas) {
    for (Point point : points) {
        canvas.drawCircle(point.x, point.y, 30, paint);
    }
}

public boolean onTouch(View view, MotionEvent event) {
    Point point = new Point();
    point.x = event.getX();
    point.y = event.getY();
    points.add(point);
    invalidate();
    return true;
}}

和主要活动

public class DrawingPage extends AppCompatActivity {
private DrawView drawView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_drawing_page);
    drawView = new DrawView(getApplicationContext());
    drawView.setBackgroundColor(Color.WHITE);
    setContentView(drawView);
    drawView.requestFocus();
}}

XML

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    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="reminder.com.picsartdrawing.DrawingPage">

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/myFAB"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@mipmap/ic_launcher"
        app:elevation="4dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentEnd="true" />
</RelativeLayout>

但浮动按钮没有出现,任何解决方案?
Screenshot

编辑!!!
在Activity的onCreate方法中我已经改变了这一点,现在我已经用按钮绘制了画布页面.

RelativeLayout layout = (RelativeLayout) findViewById(R.id.layout);
        drawView = new DrawView(getApplicationContext());
        drawView.setBackgroundColor(Color.WHITE);
        drawView.requestFocus();
        assert layout != null;
        layout.addView(drawView);

解决方法:

在onCreate()中,用setContentView()替换“主”视图2次,所以只试试这个:

setContentView(R.layout.activity_drawing_page);

标签:android,button,canvas,floating
来源: https://codeday.me/bug/20190608/1200757.html