2016-03-07 35 views
0

我正在Android Studio中的一個項目上工作,其中我有一些包含主詳細視圖的選項卡式片段,這些視圖在主控和單個網格佈局中顯示詳細信息,在xml佈局中完美工作。對於最終的選項卡詳細信息視圖,我需要能夠呈現多個單獨的水平滾動單行和動態列計數網格佈局或網格視圖,併爲每個網格顯示一個TextView標題,並且必須以編程方式完成,因爲它們可能會因主視圖列表選擇。這在iOS上使用集合視圖非常簡單,但是我沒有找到可以做到的Android示例,並且我嘗試過的每一個結果都在單個網格佈局中,沒有TextView標頭。任何人都可以提供一個簡單的例子(可能有三個網格)來說明這可能是怎麼完成的?謝謝:)Android Studio多GridLayouts編程

+0

你的描述令我困惑。你可以添加你想要的和/或你現在的代碼截圖嗎? – Soana

+0

如果你需要幫助,你應該事先寫出通用的例子... – Soana

+0

非常感謝你甚至迴應@Soana,我爲自己工作,下面是相當簡單的答案。我只希望它可以幫助別人,使他們不會有我在這裏獲得任何幫助時遇到的相同問題。 :) – partynose

回答

0
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    ScrollView svv = new ScrollView(this); 
    svv.setLayoutParams(new ScrollView.LayoutParams(ScrollView.LayoutParams.WRAP_CONTENT, ScrollView.LayoutParams.WRAP_CONTENT)); 
    LinearLayout linLayout = new LinearLayout(this); 
    linLayout.setOrientation(LinearLayout.VERTICAL); 
    LayoutParams linLayoutParam = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); 
    LayoutParams lpView = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
    int colcount = 20; 
    int rowcount = 1; 
    TextView tv; 
    Button btn; 
    GridLayout grd; 
    GridLayout.LayoutParams gllop; 
    HorizontalScrollView svh; 

    for(int i = 0; i < 30; i++) { 
    tv= new TextView(this); 
    tv.setText("TextView " + i); 
    tv.setLayoutParams(lpView); 
    linLayout.addView(tv); 
    grd = new GridLayout(this); 
    grd.setColumnCount(colcount); 
    grd.setRowCount(rowcount); 
    grd.setBackgroundColor(Color.YELLOW); 
     for(int j = 0; j < 20; j++) { 
      gllop = new GridLayout.LayoutParams(GridLayout.spec(0), GridLayout.spec(j)); 
      btn = new Button(this); 
      btn.setText("Button " + i +"."+j); 
      grd.addView(btn, gllop); 
     } 
     svh = new HorizontalScrollView(this); 
     svh.addView(grd); 
     linLayout.addView(svh); 
    } 
    svv.addView(linLayout); 
    setContentView(svv, linLayoutParam); 

}