Cooperation.GTST团队第二周项目总结
生活随笔
收集整理的這篇文章主要介紹了
Cooperation.GTST团队第二周项目总结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
項目進展
- 這周我們把工作主要放在了UI界面的實現上,為了讓整款APP看上去能夠更加高大上,我們決定采用Android 5.0開始推出的一個
Material Design風格的導航控件Toolbar。 - 現在越來越多的開發者使用
Toolbar來作為Android客戶端的導航欄,以此來取代之前的Actionbar。與Actionbar相比,Toolbar明顯要靈活的多。它不像Actionbar一樣,一定要固定在Activity的頂部,而是可以放到界面的任意位置。除此之外,在設計Toolbar的時候,Google也留給了開發者很多可定制修改的余地,這些可定制修改的屬性在API文檔中都有詳細介紹,如:
- 設置導航欄圖標;
- 設置App的logo;
- 支持設置標題和子標題;
- 支持添加一個或多個的自定義控件;
- 支持
Action Menu;
- 由于我們小組之前沒有開發過APP,所以一開始對于UI界面的實現在網上搜集了大量的資料,并且花了很大功夫去探究Android Studio的功能,后來根據網上的一些資料大概能實現
Toolbar的功能: - 首先,在布局文件
activity_tool_bar.xml中添加進我們需要的Toolbar控件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/color_0176da">
<!--自定義控件-->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Clock" />
</android.support.v7.widget.Toolbar>
</LinearLayout>
- 接著在
base_toolbar_menu.xml中添加action menu菜單項
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@id/action_search"
android:icon="@mipmap/ic_search"
android:title="@string/menu_search"
app:showAsAction="ifRoom" />
<item
android:id="@id/action_notification"
android:icon="@mipmap/ic_notifications"
android:title="@string/menu_notifications"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_item1"
android:title="@string/item_01"
app:showAsAction="never" />
<item
android:id="@+id/action_item2"
android:title="@string/item_02"
app:showAsAction="never" />
</menu>
- 最后到
ToolbarActivity中調用代碼拿到這Toolbar控件,并在代碼中做各種set操作
public class ToolBarActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tool_bar);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setNavigationIcon(R.mipmap.ic_drawer_home);//設置導航欄圖標
toolbar.setLogo(R.mipmap.ic_launcher);//設置app logo
toolbar.setTitle("Title");//設置主標題
toolbar.setSubtitle("Subtitle");//設置子標題
toolbar.inflateMenu(R.menu.base_toolbar_menu);//設置右上角的填充菜單
toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
int menuItemId = item.getItemId();
if (menuItemId == R.id.action_search) {
Toast.makeText(ToolBarActivity.this , R.string.menu_search , Toast.LENGTH_SHORT).show();
} else if (menuItemId == R.id.action_notification) {
Toast.makeText(ToolBarActivity.this , R.string.menu_notifications , Toast.LENGTH_SHORT).show();
} else if (menuItemId == R.id.action_item1) {
Toast.makeText(ToolBarActivity.this , R.string.item_01 , Toast.LENGTH_SHORT).show();
} else if (menuItemId == R.id.action_item2) {
Toast.makeText(ToolBarActivity.this , R.string.item_02 , Toast.LENGTH_SHORT).show();
}
return true;
}
});
}
}
Toolbar的基本使用如上所示,此外如果想修改標題和子標題的字體大小、顏色等,可以調用setTitleTextColor、setTitleTextAppearance、setSubtitleTextColor、setSubtitleTextAppearance這些API。- 如圖所示,這是實現
Toolbar代碼的基本結構:
layout和menu文件夾分別是兩個Activity的布局文件和actionmenu菜單文件,values、values-v19、values-v21 中包含了一些自定義的theme。
- 代碼托管截圖:
總結
自從Material Design設計開始推出后,Google推出的這些新控件使用起來更加簡單,這能讓我們更好的把精力放在編寫業務代碼上。很多以前需要借助第三方開源庫才能實現的效果,現在已經慢慢的不需要了。當然,我們依舊可以去深入的學習這些優秀開源代碼,沉淀到更多的干貨。這樣,小菜也就慢慢成為大牛了。
總結
以上是生活随笔為你收集整理的Cooperation.GTST团队第二周项目总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 国外5G网络下智能网联汽车的研究现状?
- 下一篇: 安装Windows8/Windows10