Android ActionBar制作時(shí)鐘實(shí)例解析
本文實(shí)例為大家分享了Android ActionBar制作時(shí)鐘的具體代碼,供大家參考,具體內(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()方法得到一個(gè)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("時(shí)鐘被展開");
return true;
}
/**
* 菜單條目被折疊
* 返回為true代表該條目菜單可以被折疊
* @Override
*/
public boolean onMenuItemActionCollapse(MenuItem item) {
txtResult.setText("時(shí)鐘被折疊");
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使用教程,大家可以進(jìn)行參考學(xué)習(xí)。
以上就是本文的全部內(nèi)容,希望對大家學(xué)習(xí)Android軟件編程有所幫助。
- Android 仿日歷翻頁、仿htc時(shí)鐘翻頁、數(shù)字翻頁切換效果
- Android仿小米時(shí)鐘效果
- android高仿小米時(shí)鐘(使用Camera和Matrix實(shí)現(xiàn)3D效果)
- Android通過Path實(shí)現(xiàn)搜索按鈕和時(shí)鐘復(fù)雜效果
- Android獲取設(shè)備CPU核數(shù)、時(shí)鐘頻率以及內(nèi)存大小的方法
- Android多功能時(shí)鐘開發(fā)案例(實(shí)戰(zhàn)篇)
- Android多功能時(shí)鐘開發(fā)案例(基礎(chǔ)篇)
- Android畫個(gè)時(shí)鐘玩玩
- android實(shí)現(xiàn)widget時(shí)鐘示例分享
- Android實(shí)現(xiàn)簡單時(shí)鐘View的方法
相關(guān)文章
Android view更改背景資源與padding消失的問題解決辦法
這篇文章主要介紹了Android view更改背景資源與padding消失的問題解決辦法的相關(guān)資料,需要的朋友可以參考下2017-04-04
Android存儲(chǔ)卡讀寫文件與Application數(shù)據(jù)保存的實(shí)現(xiàn)介紹
這篇文章主要介紹了Android在存儲(chǔ)卡上讀寫文件、Application保存數(shù)據(jù)的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-09-09
Android基于ViewPager Fragment實(shí)現(xiàn)選項(xiàng)卡
這篇文章主要介紹了Android基于ViewPager Fragment實(shí)現(xiàn)選項(xiàng)卡的相關(guān)資料,需要的朋友可以參考下2015-11-11
Android中findViewById返回為空null的快速解決辦法
這篇文章主要介紹了Android中findViewById返回為空null的快速解決辦法的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06
Android 獲取應(yīng)用緩存大小與清除緩存的方法
今天小編就為大家分享一篇Android 獲取應(yīng)用緩存大小與清除緩存的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08
Android利用Fragment實(shí)現(xiàn)Tab選項(xiàng)卡效果
這篇文章主要為大家詳細(xì)介紹了Android利用Fragment實(shí)現(xiàn)Tab選項(xiàng)卡效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08
Android開發(fā)之資源文件用法實(shí)例總結(jié)
這篇文章主要介紹了Android開發(fā)之資源文件用法,結(jié)合實(shí)例形式總結(jié)分析了Android開發(fā)過程中針對資源文件的常見操作技巧,需要的朋友可以參考下2016-02-02
Android系統(tǒng)實(shí)現(xiàn)DroidPlugin插件機(jī)制
這篇文章主要為大家詳細(xì)介紹了Android系統(tǒng)上實(shí)現(xiàn)DroidPlugin插件機(jī)制,可以在無需安裝、修改的情況下運(yùn)行APK文件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01
android studio 清單配置文件androidmainfest.xml詳細(xì)解讀
AndroidManifest官方解釋是應(yīng)用清單,每個(gè)應(yīng)用的根目錄中都必須包含一個(gè),并且文件名必須一模一樣,這個(gè)文件中包含了APP的配置信息,系統(tǒng)需要根據(jù)里面的內(nèi)容運(yùn)行APP的代碼,顯示界面,這篇文章介紹了android studio 清單配置文件androidmainfest.xml解讀,需要的朋友可以參考下2024-04-04

