最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android通過(guò)實(shí)現(xiàn)GridView的橫向滾動(dòng)實(shí)現(xiàn)仿京東秒殺效果

 更新時(shí)間:2018年07月20日 09:08:37   作者:Android_fengxu  
這篇文章主要介紹了Android通過(guò)實(shí)現(xiàn)GridView的橫向滾動(dòng)實(shí)現(xiàn)仿京東秒殺效果,實(shí)現(xiàn)代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

實(shí)現(xiàn)GridView的橫向滾動(dòng)

效果如下圖:

1.

具體實(shí)現(xiàn)的代碼

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

<?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/home_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)布局文件:item_homepage_hor_grid.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/item_homepage_hor_grid_item"
  android:layout_width="match_parent"
  android:layout_height="186dp"
  android:orientation="vertical">
  <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/white"
    android:gravity="center"
    android:orientation="vertical"
    >
    <LinearLayout
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:gravity="center_horizontal"
      android:orientation="vertical">
      <ImageView
        android:id="@+id/home_page_jrtj_img"
        android:layout_width="125dp"
        android:layout_height="125dp"
        android:scaleType="fitXY"
        android:src="@mipmap/home_jrtj_sp_1" />
    </LinearLayout>
    <TextView
      android:paddingStart="@dimen/space_5dp"
      android:id="@+id/home_page_jrtj_tv_title"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_gravity="center_horizontal"
      android:layout_marginTop="@dimen/space_5dp"
      android:ellipsize="end"
      android:maxLines="2"
      android:text="小米(MI)小米電視4A 標(biāo)準(zhǔn)版 55英寸 HDR 2GB+8GB 四核64位高性能處理器 4K超高清智能語(yǔ)音網(wǎng)絡(luò)液晶平板電視(L55M5-AZ)"
      android:textColor="#333333"
      android:textSize="11sp" />
    <LinearLayout
      android:paddingStart="@dimen/space_5dp"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:gravity="center_vertical"
      android:orientation="horizontal"
      android:paddingBottom="@dimen/space_5dp"
      android:paddingTop="@dimen/space_5dp">
      <TextView
        android:id="@+id/home_page_jrtj_tv_price"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:ellipsize="end"
        android:maxLines="1"
        android:text="¥4998"
        android:textColor="#f50000"
        android:textSize="@dimen/font_size_15sp" />
      <TextView
        android:id="@+id/home_page_jrtj_tv_huajia"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="@dimen/space_10dp"
        android:layout_marginStart="@dimen/space_5dp"
        android:layout_marginTop="@dimen/space_2dp"
        android:ellipsize="end"
        android:maxLines="1"
        android:text="¥ 4998"
        android:textColor="#d2d2d2"
        android:textSize="@dimen/font_size_11sp" />
    </LinearLayout>
  </LinearLayout>
</LinearLayout>

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

           首先是Javabean

public class HomePageJrTjTwoBean {
  private int img;
  private String title;
  private String old_price;
  private String price;
  public int getImg() {
    return img;
  }
  public void setImg(int img) {
    this.img = img;
  }
  public String getTitle() {
    return title;
  }
  public void setTitle(String title) {
    this.title = title;
  }
  public String getPrice() {
    return price;
  }
  public void setPrice(String price) {
    this.price = price;
  }
  public String getOld_price() {
    return old_price;
  }
  public void setOld_price(String old_price) {
    this.old_price = old_price;
  }
}

Activity代碼

public class MainActivity extends Activity {
  //橫向GridView 
  @BindView(R.id.home_grid)
  GridView home_grid;
  // 數(shù)據(jù)源
  private List<homePageJrTjTwoBean> relist = new ArrayList<>();
  private CommonAdapters<homePageJrTjTwoBean> re_adapter = null;
  private List<HomePageJrTjTwoBean> listData_two = new ArrayList<>();
  private int[] jrtj_two = new int[]{R.mipmap.home_jrtj_sp_1, R.mipmap.home_jrtj_sp_2, R.mipmap.home_jrtj_sp_3, R.mipmap.home_jrtj_sp_3, R.mipmap.home_jrtj_sp_3};//今日特價(jià)橫向數(shù)據(jù)
  private String[] sp_name = new String[]{"老板(Roba1m)大吸力免 拆洗觸控側(cè)吸式...", "老板(Roba1m)大吸力免 拆洗觸控側(cè)吸式...", "老板(Roba1m)大吸力免 拆洗觸控側(cè)吸式...", "老板(Roba1m)大吸力免 拆洗觸控側(cè)吸式...", "老板(Roba1m)大吸力免 拆洗觸控側(cè)吸式..."};
  private String[] price = new String[]{"¥5517", "¥5517", "¥5517", "¥5517", "¥5517"};
  private String[] hua_price = new String[]{"¥8888", "¥8888", "¥8888", "¥8888", "¥8888"};
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    //自己造的假數(shù)據(jù),實(shí)際開(kāi)發(fā)中從后臺(tái)獲取,再去刷新Grid的適配器,調(diào)用 re_adapter.notifyDataSetChanged();
     for (int i = 0; i < jrtj_two.length; i++) {
      HomePageJrTjTwoBean homePageJrTjTwoBean = new HomePageJrTjTwoBean();
      homePageJrTjTwoBean.setImg(jrtj_two[i]);
      homePageJrTjTwoBean.setTitle(sp_name[i]);
      homePageJrTjTwoBean.setPrice(price[i]);
      homePageJrTjTwoBean.setOld_price(hua_price[i]);
      listData_two.add(homePageJrTjTwoBean);
    }
    //初始化橫向的GridView
    initHorGridView();
  }
  private void initHorGridView() {
    int listSize = relist.size();
    int wm = TUtil.getScreenWidth(getActivity());
    int itemWidth = DisplayUtil.dip2px(getActivity(), 120);
    int horizontalSpacing = DisplayUtil.dip2px(getActivity(), 10);
    int allWidth = (int) ((listSize) * (itemWidth + horizontalSpacing));
    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(allWidth,
      LinearLayout.LayoutParams.WRAP_CONTENT);
    homepage_hor_grid.setLayoutParams(params);
    homepage_hor_grid.setColumnWidth(itemWidth);
    homepage_hor_grid.setNumColumns(listSize);
    homepage_hor_grid.setHorizontalSpacing(1);
    re_adapter = new CommonAdapters<QgitemBean>(getActivity(), relist, R.layout.item_homepage_hor_grid) {
      @Override
      public void convert(ViewHolders holder, QgitemBean datas) {
       //商品圖片
      ImageView home_page_jrtj_img = holder.getView(R.id.home_page_jrtj_img);
      //商品標(biāo)題
      TextView home_page_jrtj_tv_title = holder.getView(R.id.home_page_jrtj_tv_title);
      //商品價(jià)格
      TextView home_page_jrtj_tv_price = holder.getView(R.id.home_page_jrtj_tv_price);
      //商品劃價(jià)
      TextView home_page_jrtj_tv_huajia = holder.getView(R.id.home_page_jrtj_tv_huajia);
      home_page_jrtj_tv_huajia.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);//設(shè)置劃價(jià)
      home_page_jrtj_img.setImageResource(datas.getImg());
      home_page_jrtj_tv_title.setText(datas.getTitle());
      home_page_jrtj_tv_price.setText(datas.getPrice());
      home_page_jrtj_tv_huajia.setText(datas.getOld_price());
      }
    };
    home_grid.setAdapter(re_adapter);
  }
}

適配器

public abstract class CommonAdapters<T> extends BaseAdapter {
  protected Context mContext;
  protected List<T> mDatas;
  protected LayoutInflater mInflater;
  protected int layoutId;
  private int mCurPosition = 0;
  public int getCurPosition() {
    return mCurPosition;
  }
  public void setCurPosition(int mCurPosition) {
    this.mCurPosition = mCurPosition;
  }
  public CommonAdapters(Context context, List<T> datas, int layoutId)
  {
    this.mContext = context;
    mInflater = LayoutInflater.from(context);
    this.mDatas = datas;
    this.layoutId = layoutId;
  }
  public CommonAdapters(Context mContext, T xx, int item_home_list_in) {
    this.mContext = mContext;
    mInflater = LayoutInflater.from(mContext);
    this.mDatas = (List<T>) xx;
    this.layoutId = item_home_list_in;
  }
  public void upDataList(List<T> datas)
  {
    if (null == datas)
      return;
    if (mDatas != datas) {
      mDatas.clear();
      mDatas.addAll(datas);
    }
    notifyDataSetChanged();
  }
  @Override
  public int getCount()
  {
    if (null == mDatas)
      return 0;
    return mDatas.size();
  }
  @Override
  public T getItem(int position)
  {
    return mDatas.get(position);
  }
  @Override
  public long getItemId(int position)
  {
    return position;
  }
  @Override
  public View getView(int position, View convertView, ViewGroup parent)
  {
    ViewHolders holder = ViewHolders.get(mContext, convertView, parent,
        layoutId, position);
    convert(holder, getItem(position));
    return holder.getConvertView();
  }
  public abstract void convert(ViewHolders holder, T datas);
}

總結(jié)

以上所述是小編給大家介紹的Android通過(guò)實(shí)現(xiàn)GridView的橫向滾動(dòng)實(shí)現(xiàn)仿京東秒殺效果,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Android編程入門之HelloWorld項(xiàng)目目錄結(jié)構(gòu)分析

    Android編程入門之HelloWorld項(xiàng)目目錄結(jié)構(gòu)分析

    這篇文章主要介紹了Android編程入門之HelloWorld項(xiàng)目目錄結(jié)構(gòu)分析,較為詳細(xì)的分析了Android項(xiàng)目的目錄結(jié)構(gòu)與具體作用,需要的朋友可以參考下
    2015-12-12
  • Android中buildToolVersion與CompileSdkVersion的區(qū)別

    Android中buildToolVersion與CompileSdkVersion的區(qū)別

    今天小編就為大家分享一篇關(guān)于Android中buildToolVersion與CompileSdkVersion的區(qū)別,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • Android應(yīng)用強(qiáng)制更新APP的示例代碼

    Android應(yīng)用強(qiáng)制更新APP的示例代碼

    本篇文章主要介紹了Android應(yīng)用強(qiáng)制更新APP的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-02-02
  • 將Eclipse工程轉(zhuǎn)Android Studio工程的步驟與注意事項(xiàng)

    將Eclipse工程轉(zhuǎn)Android Studio工程的步驟與注意事項(xiàng)

    這篇文章主要給大家介紹了將Eclipse工程轉(zhuǎn)Android Studio工程的方法步驟,并給大家分享了其中的一些注意事項(xiàng),文中將實(shí)現(xiàn)的步驟一步步介紹的非常詳細(xì),需要的朋友們可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-11-11
  • Retrofit2日志攔截器的使用

    Retrofit2日志攔截器的使用

    這篇文章主要介紹了Retrofit2日志攔截器的使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • Android 實(shí)現(xiàn)廣告歡迎界面(倒計(jì)時(shí))

    Android 實(shí)現(xiàn)廣告歡迎界面(倒計(jì)時(shí))

    前些時(shí)候就是別人問(wèn)我他的android APP怎么做一個(gè)廣告的歡迎界面,就是過(guò)幾秒后自動(dòng)跳轉(zhuǎn)到主界面的實(shí)現(xiàn)。下面通過(guò)本文給大家介紹Android 實(shí)現(xiàn)廣告歡迎界面(倒計(jì)時(shí))的方法,需要的朋友參考下吧
    2017-12-12
  • Android開(kāi)發(fā)中的文件操作工具類FileUtil完整實(shí)例

    Android開(kāi)發(fā)中的文件操作工具類FileUtil完整實(shí)例

    這篇文章主要介紹了Android開(kāi)發(fā)中的文件操作工具類FileUtil,結(jié)合完整實(shí)例形式分析了Android文件操作的常用技巧,包括文件的獲取、遍歷、搜索、復(fù)制、刪除、判斷等功能,需要的朋友可以參考下
    2017-11-11
  • Android App支付系列(二):支付寶SDK接入詳細(xì)指南(附官方支付demo)

    Android App支付系列(二):支付寶SDK接入詳細(xì)指南(附官方支付demo)

    本篇文章介紹了Android App支付系列(二):支付寶SDK接入詳細(xì)指南(附官方支付demo) ,有興趣的同學(xué)可以了解一下。
    2016-11-11
  • Android多線程斷點(diǎn)續(xù)傳下載實(shí)現(xiàn)代碼

    Android多線程斷點(diǎn)續(xù)傳下載實(shí)現(xiàn)代碼

    這篇文章主要介紹了Android多線程斷點(diǎn)續(xù)傳下載實(shí)現(xiàn)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • 給Android初學(xué)者的Gradle知識(shí)普及

    給Android初學(xué)者的Gradle知識(shí)普及

    剛學(xué) Android 不久,對(duì) Gradle 不懂,看了很多資料依然一知半解,很多人都這樣覺(jué)得,表示同感,下面小編來(lái)給大家講講 Gradle相關(guān)知識(shí),需要的朋友跟隨小編一起來(lái)學(xué)習(xí)一下
    2018-09-09

最新評(píng)論

武城县| 沂源县| 昆明市| 衡东县| 迁西县| 堆龙德庆县| 颍上县| 福海县| 巫溪县| 太保市| 龙门县| 三亚市| 梁河县| 滕州市| 无极县| 宁明县| 佛冈县| 巩义市| 井冈山市| 盐山县| 法库县| 马关县| 蓬莱市| 霸州市| 公安县| 诸城市| 定兴县| 许昌县| 五台县| 澄城县| 阿拉善右旗| 彝良县| 锦州市| 易门县| 峨边| 大渡口区| 内黄县| 马龙县| 永宁县| 临颍县| 河南省|