你的位置:首页 > 操作系统

[操作系统]gridview安卓实现单行多列横向滚动


 <GridLayout      android:layout_width="match_parent"      android:layout_height="match_parent"      android:columnCount="1" >       <HorizontalScrollView         android:layout_width="match_parent"         android:layout_height="88dp"         android:layout_column="0"         android:layout_gravity="left|bottom"         android:layout_row="0" >         <LinearLayout           android:id="@+id/linearLayout_gridtableLayout"           android:layout_width="1000dp"           android:layout_height="79dp"           android:orientation="horizontal" >           <GridView             android:id="@+id/gridview1"             android:layout_width="600dp"             android:layout_height="match_parent"             android:background="#ffffff"             android:columnWidth="100dp"             android:gravity="center"             android:horizontalSpacing="1dp"             android:numColumns="6"             android:scrollbarAlwaysDrawHorizontalTrack="true"             android:scrollbarAlwaysDrawVerticalTrack="true"             android:scrollbars="horizontal|vertical"             android:verticalSpacing="1dp" />http://www.cnblogs.com/xiaobo-Linux/ qq463431476         </LinearLayout>       </HorizontalScrollView>    </GridLayout>

指定其中LinearLayout的宽度就能够实现你GridView的长宽变化,如果它的长超过屏幕,则自动添加水平滚动条。

 

 private int[] icon = { R.drawable.camera, R.drawable.wifi, R.drawable.temperature,      R.drawable.lamp, R.drawable.wechat, R.drawable.mic, };  private String[] iconName = { "摄像头", "网络", "温湿度", "电器", "微信", "语音" };      private GridView gview;  private List<Map<String, Object>> data_list;  private SimpleAdapter sim_adapter; protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);             //gridview数据适配器     gview = (GridView) findViewById(R.id.gridview1);    //新建List    data_list = new ArrayList<Map<String, Object>>();    //获取数据    getData();    //新建适配器    String [] from ={"image","text"};    int [] to = {R.id.image,R.id.title};    sim_adapter = new SimpleAdapter(this, data_list, R.layout.items, from, to);    //配置适配器    gview.setAdapter(sim_adapter);      http://www.cnblogs.com/xiaobo-Linux/ qq463431476     }   public List<Map<String, Object>> getData(){          //cion和iconName的长度是相同的,这里任选其一都可以      for(int i=0;i<icon.length;i++){        Map<String, Object> map = new HashMap<String, Object>();        map.put("image", icon[i]);        map.put("text", iconName[i]);        data_list.add(map);      }              return data_list;    }