ペイントとキャンバスのインスタンスがフラグメントビューにあり、自由に描画できるようにしたいと考えています。アンドロイド:フラグメントビューの上にペイントが表示されない
問題:私のフラグメントビューの背景の上にペイントしようとしている私の円形の形状が正しく表示されません。円がフラグメントの後ろに描かれているかのようにクリップされています。
以下、オレンジ色の図は私の断片とは別のものですが、そこに青い円が見えるとは思われません。しかし、白い見方は私の断片であり、青い円がその上に描かれることを期待しています。代わりに、私は、白いフラグメントビュー内でクリップされた青い円(四角形のように見える)を見る。このビューのandroid:background xml属性を設定していない場合でも、青い円がクリップされて表示されます。
キャンバスシェイプをフラグメントビュー(重ねて表示)の上に表示するには、何を変更する必要がありますか?
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>