Ich habe eine Instanz von einer Farbe und Leinwand in einer Fragmentansicht, und ich möchte in der Lage sein, darauf nach Belieben zu zeichnen.Android: Farbe wird nicht auf der Fragmentansicht angezeigt
Das Problem: meine kreisförmigen Formen, die ich versuche, über den Hintergrund meiner Fragmentansicht zu malen, werden nicht richtig angezeigt; Der Kreis wird abgeschnitten, als würde er hinter das Fragment gezogen.
Unten ist die orange Ansicht von meinem Fragment getrennt, erwarten Sie nicht, den blauen Kreis dort zu sehen. Die weiße Ansicht ist jedoch mein Fragment und ich erwarte, dass der blaue Kreis vollständig darüber gezeichnet wird. Stattdessen sehe ich einen abgeschnittenen blauen Kreis (sieht wie ein Rechteck aus) in der weißen Fragmentansicht. Selbst wenn ich das Attribut android: background xml für diese Ansicht nicht einstelle, erscheint der blaue Kreis immer noch abgeschnitten.
Was muss ich in meinem Code ändern, damit meine Canvas-Formen oben auf der Fragmentansicht angezeigt werden (überlappend)?
FragmentNeckDisplayMenu.java
public class FragmentNeckDisplayMenu extends Fragment {
private static View v;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
v = inflater.inflate(R.layout.menu_fragment_neck_display,container,false);
//Configure Paint Canvas
LinearLayout paintSurface = (LinearLayout)v.findViewById(R.id.canvas);
paintSurface.addView(new NeckGlow(getActivity()));
}
//paint test
class NeckGlow extends View {
Paint mPainter = new Paint(Paint.ANTI_ALIAS_FLAG);
public NeckGlow(Context context) {
super(context);
}
@Override
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
mPainter.setColor(Color.BLUE);
mPainter.setAlpha(255);
canvas.drawCircle(25, 900, 200, mPainter);
}
}
}
menu_fragment_neck_display.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/canvas"
android:background="#FFFFFF">
<Button
android:id="@+id/menuIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="64dp"
android:text="Menu"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_gravity="bottom" />
</LinearLayout>