編輯:關於Android編程
TabLayout是在2015年的google大會上,google發布了新的Android Support Design庫的新組件之一,以此來全面支持Material Design
設計風格的UI效果,為了可以使用這些新穎MD組件首先必須要在Android Studio的SDK的EXTRA支持庫安裝Android Support Library支持庫,如下所示
該組件在design庫中因此還需要在AS中添加依賴庫
FILE——project struct
右鍵app選擇Library dependancy
選擇design庫
然後AS會自動幫我們在APP的build.gradle文件下添加依賴如下圖,由於
TabLayout配合V ierPager,因此還需要導入viewerpager的依賴庫 support-v4包,(就是上圖的正數第二個庫)
到此,准備工作已經搞定!
本例主要通過tablayout實現選項卡切換功能,這裡實現了一個框架,比較簡單,效果圖如下,可以直接拿去加點擴展使用
首先要在布局文件中引入Tablayout和viewpager,然後在Activity通過adapter聯動 vierpager,內部每個頁面通常是個fragment
引入倆個組件,
常用屬性如下(需要引入xmlns:app=http://schemas.android.com/apk/res-auto )
app:tabSelectedTextColor:Tab被選中字體的顏色
app:tabTextColor:Tab未被選中字體的顏色
app:tabIndicatorColor:Tab指示器下標的顏色
這裡是倆個選項卡,因此實現倆個fragment,省略下面有整個demo代碼
一般TabLayout都是和ViewPager共同使用才發揮它的優勢
package com.elvis.tablayout_demo; import android.os.Bundle; import android.support.design.widget.TabLayout; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.view.Menu; import android.view.MenuItem; import com.elvis.tablayout_demo.fragment.FragmenthotRec; import com.elvis.tablayout_demo.fragment.Fragmenthotpot; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { private TabLayout mTabLayout; private ViewPager mViewPager; private Listlist_fragment; private Fragmenthotpot mHotpot; private FragmenthotRec mHotRec; //tablayout的標題 private String[] mTitles = new String[]{今日熱點,熱門推薦}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initViews(); } private void initViews() { mTabLayout = (TabLayout) findViewById(R.id.id_tablayout); mViewPager = (ViewPager) findViewById(R.id.id_viewpager); mHotpot = new Fragmenthotpot(); mHotRec = new FragmenthotRec(); list_fragment = new ArrayList<>(); list_fragment.add(mHotpot); list_fragment.add(mHotRec); /*viewPager通過適配器與fragment關聯*/ mViewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) { @Override public Fragment getItem(int position) { return list_fragment.get(position); } @Override public int getCount() { return mTitles.length; } @Override public CharSequence getPageTitle(int position) { return mTitles[position]; } }); //TabLayout和ViewPager的關聯 mTabLayout.setupWithViewPager(mViewPager); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }
ColorOS3.0系統設計了一種省電機制,防止部分軟件在後台耗電,或者當軟件在後台運行存在耗電行為時,系統會自動將其關閉。那麼oppo r9怎麼設置軟件後
一、Android平台濾鏡濾鏡這個功能在目前的市場上應用很廣泛,發展也非常快,總結起來,基本上有以下三種應用會包含濾鏡功能,都各有所長。 二、相機濾鏡介紹1、相
廢話不多說了,直接給大家貼代碼了。package com.only.android.app;import java.io.File;import android.app.
Android 5.0引入了一個全新的列表控件-RecyclerView,這個控件更為靈活,同時也擁有比ListView和GridView控件較多的優點:例如Item V