Material Design

论坛 期权论坛     
匿名技术用户   2021-1-11 22:08   63   0
<p>关于Material Design 的各种详细的介绍,极客学院的wiki写的非常清楚了:<br><a href="http://wiki.jikexueyuan.com/project/material-design/">http://wiki.jikexueyuan.com/project/material-design/</a><br> 那么我们现在就开始撸代码<br></p>
<div class="image-package">
<div class="image-container">
  <div class="image-container-fill"></div>
  <div class="image-view">
   <img alt="7753368-e928ddce65b353dc.png" src="https://201907.oss-cn-shanghai.aliyuncs.com/cs/5606289-1c05395949a3082a86ae1fd5eed07d22.png">
  </div>
</div>
<div class="image-caption">
  本文目录
</div>
</div>
<p></p>
<h1>1.控制项目全局样式</h1>
<p>1.1 无论是使用AS还是ADT,都要引入appcompat-v7,AS使用下面这一句代码引入,解决Android碎片化开发的问题,碎片化开发,就是在不同版本上的UI,看起来不会有太大的区别。</p>
<pre class="blockcode"><code>implementation &#39;com.android.support:appcompat-v7:26.1.0&#39;
implementation &#39;com.android.support:design:26.1.0&#39;
</code></pre>
<p>1.2 写自己的全局样式:</p>
<pre class="blockcode"><code> &lt;!--
        Base application theme, dependent on API level. This theme is replaced
        by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
    --&gt;

&lt;style name&#61;&#34;AppBaseTheme&#34; parent&#61;&#34;Theme.AppCompat.Light&#34;&gt;
&lt;!--
            Theme customizations available in newer API levels can go in
            res/values-vXX/styles.xml, while customizations related to
            backward-compatibility can go here.
        --&gt;
  &lt;/style&gt;

  &lt;!-- Application theme. --&gt;
    &lt;style name&#61;&#34;AppTheme&#34; parent&#61;&#34;AppBaseTheme&#34;&gt;
        &lt;!-- All customizations that are NOT specific to a particular API-level can go here. --&gt;
        &lt;item name&#61;&#34;android:textColor&#34;&gt;&#64;color/mytextcolor&lt;/item&gt;
        &lt;item name&#61;&#34;colorPrimary&#34;&gt;&#64;color/colorPrimary_pink&lt;/item&gt;
        &lt;item name&#61;&#34;colorPrimaryDark&#34;&gt;&#64;color/colorPrimary_pinkDark&lt;/item&gt;
        &lt;item name&#61;&#34;android:windowBackground&#34;&gt;&#64;color/background&lt;/item&gt;
    &lt;item name&#61;&#34;colorAccent&#34;&gt;&#64;color/accent_material_dark&lt;/item&gt;
        &lt;!-- 设置虚拟导航栏背景颜色  5.x新特性--&gt;
        &lt;item name&#61;&#34;android:navigationBarColor&#34;&gt;&#64;color/colorPrimary_pink&lt;/item&gt;
    &lt;/style&gt;

</code></pre>
<p>AppTheme相当于AppBaseTheme的子类,在AppTheme中设置各种颜色,样式的配置。其中:<br> colorPrimary:主色,<br> colorPrimaryDark:主色--深色,一般可以用于状态栏颜色、底部导航栏<br> colorAccent:代表各个控件的基调颜色--CheckBox、RadioButton、ProgressBar等<br> android:textColor:当前所有的文本颜色</p>
<h1>2. v7包中有很多控件,都是为兼容而生的,在各个版本中运行的外观并没有太大的区别。</h1>
<p>2.1 AlertDialog:<br> android.app包中的AlertDialog:在不同的版本上显示样式是不一样的,在4.1下显示是这样的:</p>
<br>
<div class="image-package">
<div class="image-container">
  <div class="image-container-fill"></div>
  <div class="image-view">
   <img alt="7753368-b8c0212b6899cf36.png" src="https://201907.oss-cn-shanghai.aliyuncs.com/cs/5606289-d32635fed400fb3982dff3c9b3319103.png">
  </div>
</div>
<div class="image-caption">
  传统对话框
</div>
</div>
<br>
<p>8.0下显示是这样的:</p>
<br>
<div class="image-package">
<div class="image-container">
  <div class="image-container-fill"></div>
  <div class="image-view">
   <img alt="7753368-39704ae847730636.png" src="https://201907.oss-cn-shanghai.aliyuncs.com/cs/5606289-ced8cf7b90ffafad67bbf757d4ae2b3c.png">
  </div>
</div>
<div class="image-caption">
  传统对话框
</div>
</div>
<p>而android.support.v7.app包下的AlertDialog,在4.1和8.0下显示基本相同。</p>
<br>
<div class="image-package">
<div class="image-container">
  <div class="image-container-fill"></div>
  <div class="image-view">
   <img alt="7753368-08485793bc3e5b1c.png" src="https://201907.oss-cn-shanghai.aliyuncs.com/cs/5606289-d3d0ea1775a6d9ad71bde2fe0054a826.png">
  </div>
</div>
<div class="image-caption">
  Android 8.0下V7对话框
</div>
</div>
<br>
<div class="image-package">
<div class="image-container">
  <div class="image-container-fill"></div>
  <div class="image-view">
   <img alt="7753368-954da4bfa87e0b41.png" src="https://201907.oss-cn-shanghai.aliyuncs.com/cs/5606289-ce9f9ebdcf180bba52e70b38d0310790.png">
  </div>
</div>
<div class="image-caption">
  Android 4.1下 V7对话框
</div>
</div>
<p>可以看到,基本上是一样的。</p>
<p>2.2 下拉刷新 SwipeRefreshLayout</p>
<pre class="blockcode"><code> srl.setColorSchemeColors(Color.YELLOW,Color.RED,Color.GREEN);//设置进度条的颜色
        srl.setProgressBackgroundColorSchemeColor(Color.WHITE);//设置背景颜色
        srl.setDistanceToTriggerSync(100);//下拉多少距离开始刷新
        srl.setSize(SwipeRefreshLayout.DEFAULT);//设置进度条的大小
        srl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
            &#64;Override
            public void onRefresh() {
                /
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP