日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android之ASD组件(一)

發布時間:2025/7/14 Android 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android之ASD组件(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  Google在android5.0之后推出新設計標準Material Design,為了能在低版本上使用Material Design,google發布了Android Support Design支持庫。

  下面我們看看該庫中提供的一些組件的用法

  SnackBar該組件是介于Toast和Dialog之間的一種提示信息組件,用法和Toast有點類似。SnackBar中常用的方法如下:

1、public static Snackbar make(@NonNull View view, @StringRes int resId, @Duration int duration):靜態方法,使用字符串資源構建一個SnackBar對象 2、public static Snackbar make(@NonNull View view, @NonNull CharSequence text,
@Duration int duration) :靜態方法,用于構建一個SnackBar對象。 3、public Snackbar setAction(@StringRes int resId, View.OnClickListener listener):設置SnackBar的動作 4、public Snackbar setAction(CharSequence text, final View.OnClickListener listener):設置SnackBar動作 5、public Snackbar setActionTextColor(ColorStateList colors):設置操作文字顏色 6、public void show():顯示SnackBar。   具體使用案例代碼如下: Snackbar.make(v,"別亂點!!!!",Snackbar.LENGTH_LONG).setAction("OK", new View.OnClickListener() {@Overridepublic void onClick(View v) {show.setText("你點了什么?");} }).show();

  ?FloatingActionButton組件是一個項目中常見的圓形按鈕,該組件是繼承自ImageView,該組件提供了一些屬性用于設置樣式,具體如下:

1、app:borderWidth:邊框的寬度

2、app:backgroundTint:FloatingActionButton的背景色

3、app:rippleColor:FloatingActionButton被點擊時的顏色

4、app:fabSize:FloatingActionButton的大

5、app:elevation:FloatingActionButton的海拔高度

  CoordinatorLayout組件是一個布局組件,實現了Material Design中滾動動畫效果,主要功能一是作為布局容器,而是協調子View實現滾動動畫效果。

  使用以上三個組件完成案例效果如下圖所示:


  具體的布局文件內容如下:

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:fitsSystemWindows="true"><TextViewandroid:id="@+id/show"android:layout_width="match_parent"android:layout_height="wrap_content"android:textSize="16sp" /><android.support.design.widget.FloatingActionButtonandroid:id="@+id/btnFloating"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="end|bottom"android:layout_margin="20dp"android:src="@mipmap/ic_launcher"app:backgroundTint="#ff0000"app:borderWidth="5dp"app:elevation="10dp"app:fabSize="normal"app:pressedTranslationZ="5dp"app:rippleColor="#00ff00" /></android.support.design.widget.CoordinatorLayout>

  TabLayout是tab容器,有了TabLayout我們可以方便的實現Tabs+ViewPager+Fragment的經典界面結構。TabLayout是繼承了HorizontalScrollView,所有具備ScollView的特性。使用如下屬性可定制Tab的顯示樣式

1、? app:tabIndicatorColor:指示器的顏色 2、? app:tabIndicatorHeight:指示器的高度 3、? app:tabSelectedTextColor:選中Tab的文字顏色 4、? app:tabMode:Tab的模式 5、? app:tabTextAppearance:Tab字體樣式   使用TabLayout案例的具體展示效果如下:

  在該案例中要注意的地方有兩點:

1、ViewPager的adapter要實現getPageTitle方法,TabLayout中的Tab中文字內容從該方法中獲取。 2、要先為ViewPager設置adapter,后再依次調用TabLayout的方法   a)? setTabsFromPagerAdapter   b)? setupWithViewPager   具體代碼如下: public class TabsActivity extends AppCompatActivity {private Toolbar toolbar;private TabLayout tabs;private ViewPager viewPager;private List<View> pagerData ;String[] titles=new String[]{"推薦","熱點","煙臺","社會","視頻"};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.tabs_layout);toolbar = (Toolbar)findViewById(R.id.toolbar);setSupportActionBar(toolbar);ActionBar actionBar = getSupportActionBar();actionBar.setTitle("杰瑞教育");actionBar.setDisplayHomeAsUpEnabled(true);tabs = (TabLayout)findViewById(R.id.tabs);viewPager=(ViewPager)findViewById(R.id.viewPager);initPagerData();MyPageAdapter adapter = new MyPageAdapter();viewPager.setAdapter(adapter);tabs.setTabsFromPagerAdapter(viewPager.getAdapter());tabs.setupWithViewPager(viewPager);}private void initPagerData(){pagerData = new ArrayList<>();for(int i=0;i<titles.length;i++) {TextView textView = new TextView(this);textView.setText(titles[i]);pagerData.add(textView);}}private class MyPageAdapter extends PagerAdapter{@Overridepublic int getCount() {return pagerData.size();}@Overridepublic boolean isViewFromObject(View view, Object object) {return view==object;}@Overridepublic Object instantiateItem(ViewGroup container, int position) {View view = pagerData.get(position);container.addView(view);return view;}@Overridepublic void destroyItem(ViewGroup container, int position, Object object) {container.removeView(pagerData.get(position));}@Overridepublic CharSequence getPageTitle(int position) {return titles[position];}} }

?

作者:杰瑞教育
出處:http://www.cnblogs.com/jerehedu/?
版權聲明:本文版權歸杰瑞教育技有限公司和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
技術咨詢:

轉載于:https://www.cnblogs.com/jerehedu/p/5063281.html

總結

以上是生活随笔為你收集整理的Android之ASD组件(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。