2016-03-07 36 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); 

}