天天看點

Design庫,所有控件的使用

導入位址com.android.support:design:23.2.0。

Design庫,所有控件的使用

。輸入design搜尋到确認就可以。

布局中android.support.design.widget.XXX,調用控件

控件一:FloatingActionButton-浮動的圓形button

屬性:布局中加入xmlns:app”http://schemas.android.com/apk/res-auto”

app:backgroundTint=”#ff0000”//設定背景色

app:fabSize=”normal”//包裹src圖檔,屬性mini縮小控件達到src的大小

app:elevation=”5dp”//x軸陰影效果

app:rippleColor=”#000000”//點選效果顔色

控件二:TextInputLayout-優化EditText

屬性:必須存放子控件:EditText

代碼:textinput.setHint(“這裡填寫提示資訊”);

EditText edittext=textinput.getEditText();

edittext.addTextChangedListener(new TextWatcher(){

方法:beforeTextChanged:

方法:onTextChanged:

if(s.length()>10){

textInput.setError(“username不能超過10位”);//限制10個位元組

textInput.setErrorEnabled(true);

}else{

textInput.setErrorEnabled(false);

}

方法:afterTextChanged:

});

控件三:Snackbar- 可互動的提示框(相當于Toast位于bottom)

代碼:在控件的點選事件中調用

final Snackbar snackbar=Snackbar.make(btn,”你點選了button”。Snackbar.LENGTH_LONG).show();

snackbar.setAction(“知道了”。new View.OnClickListener(){

snackbar.dismiss();

控件四:TabLayout 便捷标簽

屬性:app:tabTextColor=”@android:color/black”//未選中字型顔色

        app:tabSelectedTextColor=”@android:color/XXX”//選中字型的顔色

        app:tabIndicatorColor=”“//下标訓示器的顔色(滑标)

        app:tabIndicatorHeight=”“//下标訓示器的高度

        app:tabMode=”scrollable”//可滑動标簽

        //背景色直接bg就能夠

代碼: 擷取tabs控件

         tabs.addTab(tabs.newTab().setText(“Tab1”));//加入标簽名稱

          加入viewpager一起使用:加入viewpager到布局。

          Listtitles=new ArrayList<>();

          Listfragments=new ArrayList<>();

          for(int i=0;i<4;i++){

                 String title=”Tab”+(i+1);

                 tabs.addTab(tabs.newTab().setText(title));

                 titles.add(title);

                 Fragment fragment=new JikeFragment(title);

                 fragments.add(fragment);

          }

          擷取viewpager控件

          XXXFragmentAdapter mAdapter=new XXXFragmentAdapter(getSupportFragmentManager(), fragments, titles);

          viewpager.setAdapter(mAdapter);

          tabs.setupWithViewPager(viewpager);

          tabs.setTabsFromPagerAdapter(mAdapter);

建立XXXfragment,在xxxfragment中加入構造函數:

String mTitle;

          public xxxfragment(String title){

             mTitle=title;

          }

          在onCreateView中:

          text=setText(mTitle);

          建立XXXFragmentAdapter

          public class XXXFragmentAdapter extends  FragmentStatePagerAdapter {

public CharSequence getPageTitle(int position) {

return mTitles.get(position);

}  

控件五: NavigationView-側滑視圖

          建立布局xxxlayout.xml

          布局中建立android.support.v4.widget.DrawerLayout控件

          控件中建立NavigationView

          app:headerLayout="@layout/head_view"//建立head_view布局(頭部布局)

          app:menu="@menu/ment_main"(菜單布局)

          android:layout_gravity="left"

          android:fitsSystemWindows="true"

代碼:擷取drawerLayout控件

          drawerLayout.closeDrawer();//控制側滑菜單的顯示opean與隐藏close

控件六:CoordinatorLayout-完美協調子View工作的核心部件

1.屬性:根布局CoordinatorLayout

           使用FloatingActionButton控件

           使用Snackbar控件

1.效果:随着Snackbar的彈出FloatingActionButton不被覆寫,随着Snackbar向上移動。

2.屬性:控件android.support.design.widget.CoordinatorLayout//相當于優化的FrameLayout

app:contentScrim="#77DB93"//動畫結束後顯示toolbar //二

                 控件 android.support.design.widget.AppBarLayout //用于相容Tb與CL

                     控件android.support.design.widget.CollapsingToolbarLayout//用于滑動縮小整個上邊布局

                     app:expandedTitleMarginStart="80dp"//設定邊距

                         控件ImageView //第二部分

                         控件android.support.v7.widget.Toolbar

                 控件android.support.v4.widget.NestedScrollView

2.代碼:

控件六源代碼