Android ActionBar制作时钟实例解析_Android

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

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索android
, actionbar
时钟
android json解析实例、rxandroid 实例解析、android actionbar、android隐藏actionbar、android去掉actionbar,以便于您获取更多的相关知识。

时间: 2024-11-03 17:53:09

Android ActionBar制作时钟实例解析_Android的相关文章

Android 蓝牙开发实例解析_Android

在使用手机时,蓝牙通信给我们带来很多方便.那么在Android手机中怎样进行蓝牙开发呢?本文以实例的方式讲解Android蓝牙开发的知识.        1.使用蓝牙的响应权限 XML/HTML代码 <uses-permission android:name="android.permission.BLUETOOTH"/> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN&qu

Android评分控件RatingBar使用实例解析_Android

无论游戏,应用,网站,都少不了评分控件.在Android SDK 中提供了 RatingBar控件来实现相应的工作. <RatingBar/>标签有几个常用评分相关属性 android:numStars,指定评分五角星数. android:rating,指定当前分数 android:stepSize, 指定分数增量 <RatingBar/>还有3种 常用的style属性 默认style 就是ratingBarStyle style ratingBarStyleIndicator 不

Android 浏览器的开发实例分享_Android

 本文主要讲解Android浏览器的开发实例,有三部分内容:启动Android默认浏览器.指定浏览器进行访问以及打开本地的html文件.        一.启动Android默认浏览器 Java代码 Intent intent = new Intent(); intent.setAction("android.intent.action.VIEW"); Uri content_url = Uri.parse("http://www.cnblogs.com"); in

Android 画一个太极图实例代码_Android

今天练手一下,一起来画个太极图吧~ 最终效果如下: 最终效果 一般都是先讲原理,我就反其道而行,先讲实现吧. 1.继承实现初始化方法 继承View,实现基本的构造函数: public TestView(Context context) { this(context, null); } public TestView(Context context, AttributeSet attrs) { this(context, attrs, 0); } public TestView(Context c

Android字段验证的实例代码_Android

先给大家展示效果图: package com.example.walkerlogin1; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widge

Android 对话框 Dialog使用实例讲解_Android

对话框 Dialog 什么是对话框 对话框是在当前的页面之上弹出的小窗口, 用于显示一些重要的提示信息, 提示用户的输入,确认信息,或显示某种状态.如 : 显示进度条对话框, 退出提示. 对话框的特点: 1, 当前界面弹出的小窗口. 2, 用户要与它进行交互, 可以接收用户输入的信息, 也可以反馈信息给用户. 常用对话框: 1, 普通对话框 AlertDialog 2, 进度条对话框 ProgressDialog 3, 日期对话框 DatePickerDialog 4, 时间对话框 TimePi

Webview实现android简单的浏览器实例代码_Android

WebView是Android中一个非常实用的组件,它和Safai.Chrome一样都是基于Webkit网页渲染引擎,可以通过加载HTML数据的方式便捷地展现软件的界面,下面通过本文给大家介绍Webview实现android简单的浏览器实例代码. 实现了浏览器的返回 前进 主页 退出 输入网址的功能 注释的很清楚啦 就不多说了 首先是布局文件 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&qu

Android自定义View制作动态炫酷按钮实例解析_Android

普通按钮也就那么几种样式,看着都审美疲劳,先放效果图:   你会不会以为这个按钮是集结了很多动画的产物,我告诉你,并没有.所有的实现都是基于自定义View,采用最底层的onDraw一点一点的画出来的.没有采用一丁点的动画.虽然演示时间很短,但是要完成这么多变化,还是挺吃力. 首先讲解用法:  public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceStat

Android入门之Gallery用法实例解析_Android

本文实例介绍的Android的Gallery控件是个很不错的看图控件,可以大大减轻开发者对于看图功能的开发,并且效果也很美观.本文实例中的Gallery的用法,主要实现用反射机制来动态读取资源中的图片. 该实例代码运行的效果图如下:   main.xml源码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.andro