0

Ich würde wissen, ob es die Möglichkeit gibt, eine neue Android Activity mit einem anderen Layout im Vergleich zu linearem Layout, Tabellenlayout, relativer Layout usw. zu erstellen ...
Mein Ziel ist es, eine Aktivität, wo der Android Laden Sie ein Objekt (z. B. Notizen) und legen Sie diese Notizen in die Aktivität, um dem Endbenutzer die Illusion zu geben, viel Post-it auf dem Bildschirm des Tablets zu haben.Layout Android Aktivität

Das Ergebnis, das ich erreichen würde ist sehr ähnlich dem Layout des Computers, wo Sie eine Menge von Symbolen haben und Sie können dieses Symbol einfügen, entfernen und verschieben, die meine Notizen darstellen.
Ich möchte ein Raster wie dieses verwenden http://developer.android.com/guide/tutorials/views/hello-gridview.html, aber mit dieser Art von Layout kann ich bewegen, wo ich meine Symbole möchte?

+0

@ prolink007 wenn denken, dass Sie nicht wissen, ob die Antwort für mich nützlich sind. Vielleicht, wenn ich nicht +1 gebe, sind sie vielleicht nicht nützlich. Genauso gebe ich die -1 nicht, wenn eine Person mir eine irrelevante Antwort gibt. –

Antwort

1

Sie müssten Ihre Ansichten manuell auf den Bildschirm zeichnen, wahrscheinlich mit etwas wie einem Canvas. Dadurch können Sie Ihre Ansichten zeichnen, wo Sie möchten.

+0

Mimminito aber die Anzahl meiner Notizen ist nicht festgelegt, so würde ich eine Prozedur haben, um eine neue Notizen auf dem Bildschirm für jede neue Note zu zeichnen ?? –

+1

Das müssten Sie entwickeln. Habe einfach eine Methode, die eine neue Notiz erstellt und sie auf dem Bildschirm rendert. Sie sollten sich die Funktionsweise von Android Canvas und OpenGL-Techniken ansehen. – Mimminito

2

Etwas wie folgt aus:

public class MyActivity extends Activity { 

    private RelativeLayout _mainLayout; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     _mainLayout = (RelativeLayout) findViewById(R.id.canvas); 
     addChild(50, 50, 150, 150, Color.RED); 
     addChild(150, 250, 50, 50, Color.GREEN); 
     addChild(200, 200, 100, 100, Color.BLUE); 
    } 

    public void addChild(int centerX, int centerY, int width, int height, int color) { 
     int X = centerX - width/2; 
     int Y = centerY - height/2; 

     RelativeLayout child = new RelativeLayout(this); 
     child.setBackgroundColor(color); 
     RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(width, height); 
     layoutParams.leftMargin = X; 
     layoutParams.topMargin = Y; 
     layoutParams.bottomMargin = -250; 
     layoutParams.rightMargin = -250; 
     child.setLayoutParams(layoutParams); 
     _mainLayout.addView(child); 
    } 
} 

main.xml:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:orientation="vertical" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent"> 

<RelativeLayout 
       android:id="@+id/canvas" 
       android:orientation="vertical" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:background="@drawable/bg0large" 
     > 
</RelativeLayout>