0

我會知道是否有可能創建一個新的Android活動與線性佈局,表格佈局,相對佈局等比較不同的佈局...
我的目標是創建一個活動,其中android加載一些對象(例如筆記)並將這些筆記放入活動中,以便讓最終用戶在平板電腦的屏幕上留下大量貼子。佈局Android活動

我想實現的結果與計算機的佈局非常相似,在這裏你有很多圖標,你可以插入,移除和移動這個代表我的筆記的圖標。
我希望使用這樣的網格http://developer.android.com/guide/tutorials/views/hello-gridview.html,但這種佈局可以讓我移動我想要的圖標?

+0

@如果認爲你可以不知道,如果答案是對我有用prolink007。也許如果我不給+1,也許沒用。同樣,當一個人給我一個無關緊要的答案時,我不會給-1。 – 2012-03-29 08:01:13

回答

1

您需要手動在屏幕上繪製視圖,可能使用類似Canvas的東西。這將允許你在你喜歡的地方繪製你的視圖。

+0

Mimminito,但我的筆記數量不固定,所以我會有一個程序在屏幕上爲每個新筆記畫一個新的筆記? – 2012-03-28 15:04:37

+1

這是你必須開發的東西。只需要一個方法,創建一個新的筆記,並將其呈現在屏幕上。您應該瞭解Android Canvas的工作原理和OpenGL技術。 – Mimminito 2012-03-28 15:33:05

2

事情是這樣的:

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>