Android ActionBar制作时钟实例解析
程序员文章站
2024-03-02 17:40:16
本文实例为大家分享了android actionbar制作时钟的具体代码,供大家参考,具体内容如下
1. mainactivity.java ...
本文实例为大家分享了android actionbar制作时钟的具体代码,供大家参考,具体内容如下
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找到相对应的menuitem(searchview) menuitem searchitem = menu.finditem(r.id.action_search); searchview view = (searchview) searchitem.getactionview(); // 给searchview设置文字改变的监听 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()方法找到自定义布局中的相对应的控件 analogclock acclock = (analogclock) v.findviewbyid(r.id.acclock); // 给customitem菜单条目设置展开折叠监听 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使用教程,大家可以进行参考学习。
以上就是本文的全部内容,希望对大家学习android软件编程有所帮助。