Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android項目之_硅谷商城項目全套源碼解析(五、發現)

Android項目之_硅谷商城項目全套源碼解析(五、發現)

編輯:關於Android編程

一、簡介

上篇博客概括的介紹了硅谷商城項目的分類模塊技術要點。本篇內容給大家講解硅谷商城項目發現模塊,發現模塊用的技術包括:采用TabLayout實現標題的切換、采用OpenDanmaku實現彈幕功能、數據解析采用Gson。

二、詳細資源地址

由於篇幅所限,詳情情況見如下地址視頻和筆記

github地址:https://github.com/atguigu01/Shopping

三、效果演示:

\

四、技術詳情

1、采用TabLayout實現標題的切換

1)導包

compile'com.android.support:design:24.2.1'

2)布局文件

xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="55dp"
android:gravity="center_vertical"
android:orientation="horizontal"
android:padding="5dp">

<ImageButton
android:id="@+id/ib_community_icon"
android:layout_width="40dp"
android:scaleType="fitXY"
android:layout_height="40dp"
android:background="@drawable/top_btn"/>

<TextView
android:textSize="18sp"
android:textColor="@android:color/background_dark"
android:gravity="center"
android:text="社區"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>

<ImageButton
android:id="@+id/ib_community_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/community_message_icon"/>
LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="2dp"
android:background="#22000000"/>

<android.support.design.widget.TabLayout
android:id="@+id/tablayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"/>

<android.support.v4.view.ViewPager
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
LinearLayout>

3)設置樣式

<android.support.design.widget.TabLayout
android:id="@+id/tablayout"
style="@style/MyCustomTabLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"/>



// 在styles.xml文件裡面

<stylename="MyCustomTabLayout"parent="Widget.Design.TabLayout">

<item name="tabMaxWidth">52dpitem>
<item name="tabMinWidth">52dpitem>
<item name="tabIndicatorColor">#ff0000item>
<item name="tabIndicatorHeight">2dpitem>
<item name="tabTextAppearance">@style/MyCustomTabTextAppearanceitem>
<item name="tabSelectedTextColor">@android:color/holo_red_lightitem>
style>

<style name="MyCustomTabTextAppearance"parent="TextAppearance.Design.Tab">
<item name="android:textSize">18spitem>
<item name="android:textColor">@android:color/blackitem>
<item name="textAllCaps">falseitem>
style>

4)代碼:

tablayout= (TabLayout) view.findViewById(R.id.tablayout);

@Override
public void initData() {
super.initData();
CommunityViewPagerAdapter adapter = new CommunityViewPagerAdapter(getFragmentManager());
viewPager.setAdapter(adapter);
tablayout.setupWithViewPager(viewPager);
//如果有多個ViewPager頁面
tablayout.setTabMode(TabLayout.MODE_SCROLLABLE);
}

2、采用OpenDanmaku實現彈幕功能

詳情使用情況見:https://github.com/linsea/OpenDanmaku

3、數據解析采用Gson

private void processData(String json) {
HotPostBean hotPostBean = JSONObject.parseObject(json,HotPostBean.class);
result = hotPostBean.getResult();
}

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved