当前位置: 移动技术网 > IT编程>移动开发>Android > Android ActionBar制作时钟实例解析

Android ActionBar制作时钟实例解析

2019年07月24日  | 移动技术网IT编程  | 我要评论

课件背景图片素材,生化棉,余艺身份证

本文实例为大家分享了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软件编程有所帮助。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网