当前位置: 移动技术网 > IT编程>移动开发>Android > 学习使用Material Design控件(一)

学习使用Material Design控件(一)

2019年07月24日  | 移动技术网IT编程  | 我要评论

郑州水电改造,ar游戏门户,inventor教程

google 发布的material design支持库,对我们的app设计有很大的影响,如果重新设计app,支持库应该直接用v4提升到v7了,我们可以用toolbar代替actionbar,以及引入了recycleview, snakebar等新控件。

我写了一个demo来学习使用这些新控件。

新建项目,加入依赖包

我们使用android studio来开发这个demo,在android studio新建一个项目,修改app module的build.gradle文件,把compilesdkversion和targetsdkversion改为21,因为material design支持库需要android 5.0以上作为编译sdk。

同时要加入相关依赖包design和recyclerview支持包。

android {
  compilesdkversion 21
  buildtoolsversion ”21.1.2”

  defaultconfig {
    applicationid ”materia.aswifter.com.materialexample”
    minsdkversion 15
    targetsdkversion 21
    versioncode 1
    versionname ”1.0”
  }
  buildtypes {
    release {
      minifyenabled false
      proguardfiles getdefaultproguardfile('proguard-android.txt'), ‘proguard-rules.pro'
    }
  }
}

dependencies {
  compile filetree(dir: ‘libs', include: [‘*.jar'])
  compile 'com.android.support:design:22.2.0'
  compile 'com.android.support:recyclerview-v7:22.0.+'
}

新建layout

新建activity_main.xml,在其中我们加入toolbar和recyclerview

<relativelayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  android:layout_width="match_parent"
  android:layout_height="match_parent">

  <android.support.v7.widget.toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignparenttop="true"
    android:background="?attr/colorprimarydark">
  </android.support.v7.widget.toolbar>

  <android.support.v7.widget.recyclerview
    android:id="@+id/recyclerview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@+id/toolbar"
    android:scrollbars="none" />

</relativelayout>

新建activity

新建mainactivity继承自appcompatactivity

加入toolbar

setcontentview(r.layout.activity_main);
toolbar toolbar = (toolbar) findviewbyid(r.id.toolbar);
setsupportactionbar(toolbar);

使用recyclerview

recyclerview是用来替换listview的,它在里面封装viewholder的一些处理,
不过recyclerview没有setonitemclicklistener方法,需要自己实现。

mrecyclerview = (recyclerview) findviewbyid(r.id.recyclerview);
 // use this setting to improve performance if you know that changes
 // in content do not change the layout size of the recyclerview
 mrecyclerview.sethasfixedsize(true);

 // use a linear layout manager
 mlayoutmanager = new linearlayoutmanager(this);
 mrecyclerview.setlayoutmanager(mlayoutmanager);

 // specify an adapter (see also next example)
 mydataset = new string[]{"java", "objective-c", "c", "c++", "swift",
     "go", "javascript", "python", "ruby", "html", "sql"};
 madapter = new myadapter(mydataset);
 mrecyclerview.setadapter(madapter);

使用snackbar

snackbar的使用类似于toast,我在recyclerview的item的点击事件中调用snackbar,
显示textview中的文字。

public class viewholder extends recyclerview.viewholder implements view.onclicklistener {
      // each data item is just a string in this case
      public textview mtextview;

      public viewholder(view v) {
        super(v);
        mtextview = (textview) v.findviewbyid(r.id.textview);
        v.setonclicklistener(this);
      }

      @override
      public void onclick(view view) {
        snackbar.make(view, mtextview.gettext(), snackbar.length_short).show();
      }
    }

项目源码已发布到github,以后慢慢加入其他控件的使用。

源码地址:materialdesignexample

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网