你的位置:首页 > 操作系统

[操作系统]Android自学历程(manterial design)—Toolbar


近来又学了学Toolbar,发现国外的文字文档比国内的还少,不知道是我搜索方式有误还是咋的,国外的视屏教学又听不懂,哎,看来以后还是要硬着头皮听,看下去。

国内的文档好的挺多的,这里我推荐一个国外,一个香港的。

一篇台湾博主的:www.blog.mosil.biz/2014/10/android-toolbar/,我看他的遇到不少问题,也解决了不少

一篇国外的基本的教程:www.javatechig.com/android/android-lollipop-toorbar-example,这个可以基本入门

国内的自行搜刮吧,还是有挺不错的。

这里我主要说说,我在做这个新的控件时,遇到的问题。

1.撤销ActionBar

我们使用的Toolbar是代替actonbar的新控件,但比actionbar更灵活,所谓一山容不得二虎,有actionbar就不能有代替actionbar的toolbar在,所以我们要,撤销设定好的Actionbar。

2种方法:

1.  <item name="android:windowNOtitle">true<item>

   <item name="windowActionBar">false<item>

    网上都这么说,可是我怎么都实现不了。没办法我用了第二种方法

2. 直接继承父类的NoActionbar,

  事实证明快捷方便,没问题

 

2.value-v21,style.

第一次创建style.

 

3.前缀android

此问题在stackover上能找到。

www.stackoverflow.com/questions/27043294/appcompat-21-name-colorprimary-not-working-together-with-name-actionbarstyl

 

4.windowbackground和background的区别

此问题在stackover上也能找到。

www.stackoverflow.com/questions/14425868/whats-the-difference-from-windowbackground-and-background-for-activities-sty

看似简单,android新手还是能遇到不少问题的。

 

 

简单的使用已经可以了:放上我的源码

 1 package com.ryan.toolbardemo01; 2  3 import android.support.v7.app.AppCompatActivity; 4 import android.os.Bundle; 5 import android.support.v7.widget.Toolbar; 6 import android.view.Menu; 7 import android.view.MenuItem; 8  9 public class MainActivity extends AppCompatActivity {10 11   private Toolbar toolbar;12 13   @Override14   protected void onCreate(Bundle savedInstanceState) {15     super.onCreate(savedInstanceState);16     setContentView(R.layout.activity_main);17 18     toolbar = (Toolbar) findViewById(R.id.toolbar);19     setSupportActionBar(toolbar);20 21 22   }23 24 }

MainActivity.java
 1 <RelativeLayout ="http://schemas.android.com/apk/res/android" 2   ="http://schemas.android.com/tools" 3   android:layout_width="match_parent" 4   android:layout_height="match_parent" 5   tools:context=".MainActivity"> 6  7   <android.support.v7.widget.Toolbar 8     android:id="@+id/toolbar" 9     android:layout_width="match_parent"10     android:layout_height="wrap_content"11     android:background="?attr/colorPrimary">12   </android.support.v7.widget.Toolbar>13 14 15   <TextView16     android:layout_below="@+id/toolbar"17     android:id="@+id/text"18     android:layout_width="wrap_content"19     android:layout_height="wrap_content"20     android:text="@string/hello_world" />21 22 23 </RelativeLayout>

 

 

<resources>  <style name="AppTheme" parent="Theme.AppCompat.NoActionBar">    <item name="colorPrimaryDark">#1976D2</item>    <item name="colorPrimary">#2196F3</item>    <item name="android:textColorPrimary">#FFFFFF</item>  </style></resources>

 

 

<??><resources>  <style name="AppTheme" parent="Theme.AppCompat.NoActionBar">    <item name="colorPrimaryDark">#1976D2</item>    <item name="colorPrimary">#2196F3</item>    <item name="android:textColorPrimary">#FFFFFF</item>    <item name="android:navigationBarColor">#2196F3</item>  </style></resources>

 

 

<??><manifest ="http://schemas.android.com/apk/res/android"  package="com.ryan.toolbardemo01" >  <application    android:allowBackup="true"    android:icon="@mipmap/ic_launcher"    android:label="@string/app_name"    android:theme="@style/AppTheme" >    <activity      android:name=".MainActivity"      android:label="@string/app_name" >      <intent-filter>        <action android:name="android.intent.action.MAIN" />        <category android:name="android.intent.category.LAUNCHER" />      </intent-filter>    </activity>  </application></manifest>