国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android開發(fā)實(shí)現(xiàn)橫向列表GridView橫向滾動的方法【附源碼下載】

2019-10-22 18:17:46
字體:
供稿:網(wǎng)友

本文實(shí)例講述了Android開發(fā)實(shí)現(xiàn)橫向列表GridView橫向滾動的方法。分享給大家供大家參考,具體如下:

Android 橫向列表實(shí)現(xiàn),可左右滑動,如下圖

Android,橫向列表,GridView,橫向滾動,源碼下載

1. 主界面布局代碼:activity_main.xml

a.包裹HorizontalScrollView控件是GirdView橫向滾動的基本條件
b.GirdView外包裹LinearLayout是java代碼中參數(shù)設(shè)置的必要條件

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <HorizontalScrollView  android:layout_width="fill_parent"  android:layout_height="wrap_content"  android:layout_margin="5dp" >  <LinearLayout   android:layout_width="wrap_content"   android:layout_height="fill_parent"   android:layout_margin="10dp" >   <GridView    android:id="@+id/grid"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:gravity="center"    android:numColumns="auto_fit"    android:stretchMode="spacingWidthUniform" >   </GridView>  </LinearLayout> </HorizontalScrollView></LinearLayout>

2.主界面GridView列表子項(xiàng)布局文件:list_item.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/itemlayout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" > <ImageView  android:id="@+id/ItemImage"  android:layout_width="80.0dip"  android:layout_height="80.0dip"  android:layout_gravity="center_horizontal"  android:src="@drawable/china" > </ImageView> <TextView  android:id="@+id/tvCity"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_gravity="center_horizontal"  android:text="Title"  android:textColor="#000000" > </TextView> <TextView  android:id="@+id/tvCode"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_gravity="center_horizontal"  android:text="Info"  android:textColor="#000000" > </TextView></LinearLayout>

3.java實(shí)現(xiàn)代碼:MainActivity.java

package com.example.horizontallistview;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.util.DisplayMetrics;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.GridView;import android.widget.LinearLayout;import android.widget.RelativeLayout;import android.widget.TextView;/*** * * @author ymw */public class MainActivity extends Activity { List<CityItem> cityList; RelativeLayout itmel; GridView gridView; @Override protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_main);  LayoutInflater layoutInflater = (LayoutInflater) this    .getSystemService("layout_inflater");  gridView = (GridView) findViewById(R.id.grid);  setData();  setGridView(); } /**設(shè)置數(shù)據(jù)*/ private void setData() {  cityList = new ArrayList<CityItem>();  CityItem item = new CityItem();  item.setCityName("深圳");  item.setCityCode("0755");  cityList.add(item);  item = new CityItem();  item.setCityName("上海");  item.setCityCode("021");  cityList.add(item);  item = new CityItem();  item.setCityName("廣州");  item.setCityCode("020");  cityList.add(item);  item = new CityItem();  item.setCityName("北京");  item.setCityCode("010");  cityList.add(item);  item = new CityItem();  item.setCityName("武漢");  item.setCityCode("027");  cityList.add(item);  item = new CityItem();  item.setCityName("孝感");  item.setCityCode("0712");  cityList.add(item);  cityList.addAll(cityList); } /**設(shè)置GirdView參數(shù),綁定數(shù)據(jù)*/ private void setGridView() {  int size = cityList.size();  int length = 100;  DisplayMetrics dm = new DisplayMetrics();  getWindowManager().getDefaultDisplay().getMetrics(dm);  float density = dm.density;  int gridviewWidth = (int) (size * (length + 4) * density);  int itemWidth = (int) (length * density);  LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(    gridviewWidth, LinearLayout.LayoutParams.FILL_PARENT);  gridView.setLayoutParams(params); // 設(shè)置GirdView布局參數(shù),橫向布局的關(guān)鍵  gridView.setColumnWidth(itemWidth); // 設(shè)置列表項(xiàng)寬  gridView.setHorizontalSpacing(5); // 設(shè)置列表項(xiàng)水平間距  gridView.setStretchMode(GridView.NO_STRETCH);  gridView.setNumColumns(size); // 設(shè)置列數(shù)量=列表集合數(shù)  GridViewAdapter adapter = new GridViewAdapter(getApplicationContext(),    cityList);  gridView.setAdapter(adapter); } /**GirdView 數(shù)據(jù)適配器*/ public class GridViewAdapter extends BaseAdapter {  Context context;  List<CityItem> list;  public GridViewAdapter(Context _context, List<CityItem> _list) {   this.list = _list;   this.context = _context;  }  @Override  public int getCount() {   return list.size();  }  @Override  public Object getItem(int position) {   return list.get(position);  }  @Override  public long getItemId(int position) {   return position;  }  @Override  public View getView(int position, View convertView, ViewGroup parent) {   LayoutInflater layoutInflater = LayoutInflater.from(context);   convertView = layoutInflater.inflate(R.layout.list_item, null);   TextView tvCity = (TextView) convertView.findViewById(R.id.tvCity);   TextView tvCode = (TextView) convertView.findViewById(R.id.tvCode);   CityItem city = list.get(position);   tvCity.setText(city.getCityName());   tvCode.setText(city.getCityCode());   return convertView;  } } public class CityItem {  private String cityName;  private String cityCode;  public String getCityName() {   return cityName;  }  public void setCityName(String cityName) {   this.cityName = cityName;  }  public String getCityCode() {   return cityCode;  }  public void setCityCode(String cityCode) {   this.cityCode = cityCode;  } }}

4.完整實(shí)例代碼點(diǎn)擊此處本站下載

 

希望本文所述對大家Android程序設(shè)計有所幫助。


注:相關(guān)教程知識閱讀請移步到Android開發(fā)頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 玉环县| 阳江市| 伊宁市| 博白县| 南京市| 广灵县| 平舆县| 新营市| 汝南县| 南漳县| 调兵山市| 正蓝旗| 亚东县| 高碑店市| 仙游县| 德保县| 长岛县| 婺源县| 木里| 和静县| 元谋县| 正安县| 中山市| 西藏| 白城市| 仙游县| 潢川县| 阜康市| 嘉善县| 营口市| 十堰市| 德安县| 治县。| 留坝县| 宜昌市| 嘉定区| 黔西县| 麻栗坡县| 武清区| 钟山县| 宁化县|