Android ActionBar制作時鐘實例解析
本文實例為大家分享了Android ActionBar制作時鐘的具體代碼,供大家參考,具體內(nèi)容如下
1. MainActivity.java
package com.example.days19actionbar07custom; import com.example.days19actionbar07custom.R; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.MenuItem.OnActionExpandListener; import android.view.View; import android.widget.AnalogClock; import android.widget.SearchView; import android.widget.SearchView.OnQueryTextListener; import android.widget.TextView; public class MainActivity extends Activity { private TextView txtResult = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); txtResult = (TextView) findViewById(R.id.txtResult); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); /**************searchView*****************/ // 通過id找到相對應(yīng)的MenuItem(SearchView) MenuItem searchItem = menu.findItem(R.id.action_search); SearchView view = (SearchView) searchItem.getActionView(); // 給SearchView設(shè)置文字改變的監(jiān)聽 view.setOnQueryTextListener(new OnQueryTextListener() { @Override public boolean onQueryTextSubmit(String query) { return false; } @Override public boolean onQueryTextChange(String newText) { txtResult.setText("您正在搜索" + newText); return false; } }); /**************自定義條目*****************/ // 通過id找到自定義布局MenuItem MenuItem customItem = menu.findItem(R.id.action_custom_layout); // 通過menuItem的getActionView()方法得到一個View對象 View v = customItem.getActionView(); // 可以通過v的findViewById()方法找到自定義布局中的相對應(yīng)的控件 AnalogClock acClock = (AnalogClock) v.findViewById(R.id.acClock); // 給customItem菜單條目設(shè)置展開折疊監(jiān)聽 customItem.setOnActionExpandListener(new OnActionExpandListener() { /** * 菜單條目被展開 * 返回為true代表該條目菜單可以被展開 * @Override */ public boolean onMenuItemActionExpand(MenuItem item) { txtResult.setText("時鐘被展開"); return true; } /** * 菜單條目被折疊 * 返回為true代表該條目菜單可以被折疊 * @Override */ public boolean onMenuItemActionCollapse(MenuItem item) { txtResult.setText("時鐘被折疊"); return true; } }); return true; } }
2. main.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/action_search" android:orderInCategory="100" android:actionViewClass="android.widget.SearchView" android:showAsAction="always" android:title="@string/it_search"/> <item android:id="@+id/action_custom_layout" android:actionLayout="@layout/my_layout" android:orderInCategory="100" android:icon="@drawable/ic_launcher" android:showAsAction="always|collapseActionView" android:title="layout"/> </menu>
3. activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:id="@+id/txtResult" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> </RelativeLayout>
4. my_layout.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <AnalogClock android:id="@+id/acClock" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> </RelativeLayout>
文章后還為大家分享了Android ActionBar使用教程,大家可以進行參考學(xué)習(xí)。
以上就是本文的全部內(nèi)容,希望對大家學(xué)習(xí)Android軟件編程有所幫助。
- Android 仿日歷翻頁、仿htc時鐘翻頁、數(shù)字翻頁切換效果
- Android仿小米時鐘效果
- android高仿小米時鐘(使用Camera和Matrix實現(xiàn)3D效果)
- Android通過Path實現(xiàn)搜索按鈕和時鐘復(fù)雜效果
- Android獲取設(shè)備CPU核數(shù)、時鐘頻率以及內(nèi)存大小的方法
- Android多功能時鐘開發(fā)案例(實戰(zhàn)篇)
- Android多功能時鐘開發(fā)案例(基礎(chǔ)篇)
- Android畫個時鐘玩玩
- android實現(xiàn)widget時鐘示例分享
- Android實現(xiàn)簡單時鐘View的方法
相關(guān)文章
Android實現(xiàn)Gesture手勢識別用法分析
這篇文章主要介紹了Android實現(xiàn)Gesture手勢識別用法,結(jié)合實例形式較為詳細的分析了Android基于Gesture實現(xiàn)手勢識別的原理與具體實現(xiàn)技巧,需要的朋友可以參考下2016-09-09Android 處理OnItemClickListener時關(guān)于焦點顏色的設(shè)置問題
這篇文章主要介紹了Android 處理OnItemClickListener時關(guān)于焦點顏色的設(shè)置問題的相關(guān)資料,需要的朋友可以參考下2017-02-02Flutter 底部彈窗ModelBottomSheet的使用示例
在實際開發(fā)過程中,經(jīng)常會用到底部彈窗來進行快捷操作,例如選擇一個選項,選擇下一步操作等等。在 Flutter 中提供了一個 showModelBottomSheet 方法用于彈出底部彈窗,本篇介紹如何使用底部彈窗。2021-06-06解決Android啟動APP的一瞬間系統(tǒng)欄會變成藍色問題
這篇文章主要介紹了解決Android啟動APP的一瞬間系統(tǒng)欄會變成藍色問題,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-06-06Android實現(xiàn)底部圖標與Fragment的聯(lián)動實例
本篇文章主要介紹了Android實現(xiàn)底部圖標與Fragment的聯(lián)動實例,具有一定的參考價值,有興趣的可以了解一下2017-07-07Android開發(fā)之在xml中設(shè)置自定義屬性的方法
下面小編就為大家分享一篇Android開發(fā)之在xml中設(shè)置自定義屬性的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01Android開發(fā)實現(xiàn)根據(jù)字母快速定位側(cè)邊欄
這篇文章主要為大家詳細介紹了Android開發(fā)實現(xiàn)根據(jù)字母快速定位側(cè)邊欄,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09Android中ListView異步加載圖片錯位、重復(fù)、閃爍問題分析及解決方案
在Android所有系統(tǒng)自帶的控件當(dāng)中,ListView這個控件算是用法比較復(fù)雜的了,關(guān)鍵是用法復(fù)雜也就算了,它還經(jīng)常會出現(xiàn)一些稀奇古怪的問題,讓人非常頭疼,下面通過本篇文章給大家分享Android中ListView異步加載圖片錯位、重復(fù)、閃爍問題分析及解決方案,需要朋友可以參考2015-08-08