2016-04-08 22 views
4

Bazı sayfalar için tuvalle çizim sayfası yapmayı ve köşede kayan düğmeyi eklemeyi denerim. Ama görünmüyor. Bu benim sınıflarıAndroid Yüzer Düğmesi gösterilmiyor

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

Ve Ana faaliyet

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> 

olduğunu Ama kayan düğme, herhangi bir çözüm görünmüyor? Screenshot

EDIT !!! Etkinliğin onCreate yönteminde bunu değiştirdim ve şimdi tuval resmini düğme ile çizdim. onCreate() yılında

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

Bütün düzen bu mu? – erluxman

+0

koordinat düzeninde –

cevap

4

Eğer setContentView() ile "ana" görünümü 2 kez değiştirin, bu yüzden sadece bu deneyin:

Sen etkinlik sınıfının onCreate yönteminde bu eklemeniz gerekir
setContentView(R.layout.activity_drawing_page); 
+1

nolu yüzer eylem düğmesini kullanın, bu yardımcıya ekledim. –

1

:

FloatingActionButton fab = (FloatingActionButton) findViewById (R.id.fab); 
     fab.setOnClickListener (new View.OnClickListener() { 
      @Override 
      public void onClick (View view) { 
       Snackbar.make (view, "Replace with your own action", Snackbar.LENGTH_LONG) 
         .setAction ("Action", null).show(); 
      } 
     }); 
İlgili konular