`
119568242
  • 浏览: 430976 次
  • 性别: Icon_minigender_1
  • 来自: 深圳/湛江
社区版块
存档分类
最新评论

Android菜鸟日记24-android小技巧

 
阅读更多

 

Android菜鸟日记

24 android小技巧

 

button控件实现按钮效果

 

Button控件例子

<Button android:id="@+id/bt1" android:layout_width="wrap_content"

android:background="@drawable/selector_button1"

android:layout_height="wrap_content" android:onClick="funClick" />

 

其中android:background="@drawable/selector_button1"

指向的是一个存在于 res/drawable文件夹下的selector_button1.xml文件

内容如下

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">

 <item android:state_pressed="true"

 android:drawable="@drawable/d_start" /> <!-- pressed -->

<item android:state_focused="true"

 android:drawable="@drawable/start" /> <!-- focused -->

<item android:drawable="@drawable/start" /> <!-- default -->

</selector>

 

Selector为选择器 作为button控件的 的选择器

其中三个item为相对用的值。

三个item就不解释了 这个英语我都能看懂你们也应该能看懂

 

                                                                    

 

android:onClick实现监听按钮点击

一般来说 view的监听都是 或得到view对象后给他设置监听器,以内部类的形式,首先 我很讨厌内部类,感觉复杂了代码。那么有些人就用view所在的activty去实现监听接口然后用activity来监听,我以前是这么做但是我学会了用android:onClick后我一般都是使用android:onClick方法。

还是Button控件例子[xx.xml(布局文件)中内容]

<Button android:id="@+id/bt1" android:layout_width="wrap_content"

android:background="@drawable/selector_button1"

android:layout_height="wrap_content" android:onClick="funClick" />

 

android:onClick="funClick"

这句话什么意思呢?

 

它指的是 当次button控件被点击

调用使用此布局文件[xx.xml]activityfunClick方法。

 

注意:在activity中写funClick方法时.需要传入一个参数View v

funClickView v{}

这是必须得 否则会报错。

public void funClick(View v) {

    int temp = v.getId();

 

    if (temp == R.id.bt1) {

       this.startActivity(new Intent(ShouYeActivity.this,

              OpticalRulerActivity.class));

    }

    if (temp == R.id.bt2) {

       this.startActivity(new Intent(ShouYeActivity.this,

              AboutActivity.class));

    }

    if (temp == R.id.bt3) {

       this.finish();

    }

}

多控件使用统一按钮监听方法时需用v.getId(); 获得被点击控件的id号 根据ID号分辨被点击的控件。

 

 

XML文件来写菜单栏menu

一般人写菜单栏是直接在activity 代码里面写。

如此每个activity都需要重复的写入onCreateOptionsMenu方法。

public boolean onCreateOptionsMenu(Menu menu) {

         menu.add(groupId, itemId, order, title);

       return super.onCreateOptionsMenu(menu);

}

这样的维护难度非常高。[activity使用一样的menu,则需要每个修改]

 

那么如果使用xml来写的话 每次只需要修改xml文件 就可以做到使用此xml文件menu菜单同步被修改的效果。

代码如下

Menuxml文件需要放在在resmenu文件夹(默认不存在需要自己创建) 其他名文件夹不行。其实你在RES下自己建立其他文件夹下放xml文件会被报下错。

Error in an XML file: aborting build.

 

Res/menu/menu.xml(文件名随意)

<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <group android:id="@+id/group1">id

       <item android:id="@+id/item1" android:orderInCategory="1"

           android:title="版本信息">

组内id,排序(注意排序是对整个menu来说的不考虑组问题),title

       </item>

       <item android:id="@+id/item2" android:orderInCategory="2"

           android:title="作者的话">

       </item>

    </group>

    <group android:id="@+id/group2">id

……………………………

    </group>

 

</menu>

 

 

 Activity代码处

    // 菜单栏

    public boolean onCreateOptionsMenu(Menu menu) {

       // TODO Auto-generated method stub

       MenuInflater inflater = this.getMenuInflater();

因为是用资源文件来填充menu,所以需要在系统中获取到menu填充器(MenuInflater)

       inflater.inflate(R.menu.menu, menu);

用填充器对象的填充方法(inflate),传入参数 填充资源,填充对象

       return super.onCreateOptionsMenu(menu);

返回父类方法。

    }

 

 

Toast提示用户

Android提醒用户的方法不少比如dialog系列的东西,但是如果想让用户知道,又不需要他点击来继续的话(因为多次点击会降低用户体验),使用Toast(这个单词的意思是土司面包)

activity下可以使用

 

Toast.makeText(this,"要显示的内容",Toast.LENGTH_LONG).show();

完整代码

 

Toast.makeText(Context ct,String title,Toast.LENGTH_LONG| Toast.LENGTH_SHORT)

这一段是对Toast设置textToastandroid 自带的 不需要实例化直接Toast就可以用了。

 

.show();

这个很重要,执行这个的时候才把Toast执行在屏幕上。

 

 

 

 

 

RES文件夹下的3个图片文件夹


从文件名就能看出来hdpi ,ldpi,mdpi

对应 dpi

一般来说我们只需要把文件放到hdpi文件目录下

就可以了,当遇到需要使用ldpi mdpi文件时,

Android会自动缩图(效果不好)

 

但是注意每个dpi文件夹下的icon.png需要自己重写。

否则就会在系统中看到很恶心的小绿人。

 

横竖屏,与全屏

 

横竖屏

AndroidManifest.xml文件下的application 或者activity内写入下行代码实现横竖屏。

android:screenOrientation="landscape" 横屏,portrait竖屏

 

全屏

AndroidManifest.xml文件下的application 或者activity内写入下行代码实现全屏。

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

 

关于设置全屏的还有另外一种设置风格(写风格xml文件)然后让activityapplication调用的。

懒得手打了直接复制我ITEYE博客内容了

http://poolo.iteye.com/admin/blogs/1207642

消除标题栏


第一种:在AndroidManifest.xml文件中定义

  < application android:icon="@drawable/icon"

  android:label="@string/app_name"

  android:theme="@android:style/Theme.NoTitleBar">

  可以看出,这样写的话,整个应用都会去掉标题栏,如果只想去掉某一个Activity的标题栏的话,可以把这个属性加到activity标签里面

  第二种:这种在一般的应用中不常用,就是在res/values目录下面新建一个style.xml的文件

[放在其他文件下目录下不行,只有放在values下系统才会把style读进去 才能@来用]

  例如:

 

  < ?xml version="1.0" encoding="UTF-8" ?>

  < resources>

  < style name="notitle">

  < item name="android:windowNoTitle">true< /item>

  < /style>

  < /resources>
 

  这样,我们就自定义了一个style,就相当于一个主题,然后在AndroidManifest.xml文件中定义

  < application android:icon="@drawable/icon"

  android:label="@string/app_name"

  android:theme="@style/notitle">

  这样也可以达到去掉标题栏的效果

 

全屏的方法

 

 

 

  第一种

最简单 最方便 但修改麻烦

  android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

  第二种

稍微麻烦 但修改容易 只需要修改自己写的风格文件即可

自己写一个XML文件放在res/values文件夹下

xml文件内容

<?xml version="1.0" encoding="UTF-8" ?>  

<resources>  

<style name="fullscreem">  

<item name="android:windowNoTitle">true</item>  

<item name="android:windowFullscreen">true</item>  

</style>  

</resources>  
 

 

 最后添加 android:theme="@style/fullscreem"

 

 

关于系统出错

除了代码问题有时候考虑下是不是没有添加权限

AndroidManifest.xml文件下的manifest下是否有添加权限

 <uses-sdk android:minSdkVersion="4" />

 <uses-permission android:name="android.permission.CAMERA" />

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

 

LogCat的使用

Mars视频讲了 我就稍微提下

1.logCat添加到界面中

 

 

得到


 

 

 

2.LogCat的使用

在任意代码处可以写

Log.v("mytest", "Rid:" + Rid);

//String String 键值对

//第一个参数是Logcat TAG 也就是标签、识别符

//第二参数就是内容了

 

 当系统执行到这句的时候。就会在下面的

LogCat窗口显示。

但注意系统自带了N从里面找出你写的那个是个困难度非常大的事情。

所以点击需要把你自己写的筛选出来


点击

 

 

显示如下(我写的那个例子的log tag就是mytest)

 

 

logCat 标签下可能有不同级别的提示

则靠点击来选择问题严重性

 显示全部问题

只显示log.e的问题

反正是按钮拿个按钮就显示那个按钮加它右边的所有。

比如按 那么显示的就是

 

Log不仅只有log.v

还有Log.d   Log.i   Log.w   Log.i

 

小技巧:在系统出错的时候点击

Loglog标签(系统自带无法删除)


 

然后点击就能看到当前系统报错了。

 

使用DDMS 经常会出现logCat不显示的问题,首先切到DDMS选择手机,如果还是没连接到得话[这时候你看DDMS那边手机的显示连接但看不到android版本号],解决办法是手机重新连接电脑。

 

先写这么多吧,以后想到再写,以上大多数是我自己的经验,可能有些不符合别人习惯但是我觉得挺好的。个人按照自己需求选择性学习。有更好的办法请使用更好的办法在写这篇文章的时候我还没想到更好的解决办法。

 

2011-10-23

poolo

 

  • 大小: 1.7 KB
  • 大小: 2.4 KB
  • 大小: 38.7 KB
  • 大小: 37.9 KB
  • 大小: 27.4 KB
  • 大小: 1.8 KB
  • 大小: 31.4 KB
  • 大小: 201 Bytes
  • 大小: 31.4 KB
  • 大小: 1.4 KB
  • 大小: 644 Bytes
  • 大小: 410 Bytes
  • 大小: 318 Bytes
  • 大小: 681 Bytes
  • 大小: 7.2 KB
  • 大小: 410 Bytes
1
0
分享到:
评论

相关推荐

    Android菜鸟日记25-android反编译

    这篇“Android菜鸟日记25-android反编译”将带你走进Android反编译的世界,揭示APK背后的秘密。 首先,让我们了解什么是Android反编译。Android应用主要由Java语言编写,经过编译后生成Dalvik字节码(.dex文件),...

    菜鸟入侵--利用资源搜索动画教程

    菜鸟入侵--利用资源搜索动画教程,内附有详细的使用说明 菜鸟入侵之利用资源篇 菜鸟在入侵的时候,如果能充分利用现有的资源,那将对自己的入侵起很大的

    Android studio1.3.1从菜鸟到高手--第一季-视频-百度盘

    根据提供的文件信息,我们可以推断出这是一套关于Android Studio 1.3.1的教学视频资料,主要面向初学者到进阶用户。接下来,我们将基于这些信息深入探讨相关的知识点。 ### Android Studio 1.3.1简介 Android ...

    菜鸟到老鸟-教你玩转Mac操作系统

    菜鸟到老鸟-教你玩转Mac操作

    android-emulator-webrtc

    android-emulator-webrtc 它包含一组React组件,可用于从浏览器与android模拟器进行交互。 它旨在与连接到正在运行的仿真器的一起使用。 有关如何运行可通过网络访问的仿真器的示例,请参见脚本。 npm install --...

    菜鸟学安卓 ----01之环境准备

    ### 知识点一:Android 开发环境搭建 #### 1.1 了解 Android 开发环境的基本构成 - **操作系统**:本教程基于 Windows 7 操作系统进行讲解。 - **JDK(Java Development Kit)**:安装 JDK 1.7 或更高版本,因为 ...

    Android课程设计-菜鸟裹裹app源代码+文档说明.zip

    Android课程设计-计菜鸟裹裹app源代码+文档说明菜鸟裹裹主要包括1.支付宝快速登录2.支付宝注册3.手机淘宝登录,手机登录4.首页-校园认证5.首页-包裹搜索,首页-添加包裹6.首页-扫一扫7.首页-身份码8.首页-寄万物,寄...

    android-json-0.0.20131108.vaadin1.jar

    android-json-0.0.20131108.vaadin1.jar

    私密日记本android小程序

    《构建私密日记本:Android小程序开发详解》 在当今数字化时代,个人隐私的保护越来越受到重视,而私密日记本作为一个记录内心世界的私密空间,其数字化形式——Android小程序,成为了许多用户的新选择。本文将详细...

    股市菜鸟必读----“笑傲股市”学习笔记.pdf

    《股市菜鸟必读----“笑傲股市”学习笔记》是一本针对初级投资者的指南,它强调了理解财务报表和选择有潜力的股票的重要性。在股市投资中,掌握基础的分析技巧是至关重要的,特别是对于新手而言。以下是核心知识点的...

    职场菜鸟升职记----完整版

    通过以上分析,《职场菜鸟升职记》不仅讲述了一个关于个人成长和职业发展的故事,还深入探讨了职场心态、沟通技巧、技能培养、形象管理和团队精神等多个方面的重要知识点,为读者提供了宝贵的职场指导。

    菜鸟学安卓 ---03之硬件运行环境搭建

    在安卓开发过程中,硬件运行环境的搭建是必不可少的步骤,特别是对于初学者来说,了解如何在真实设备上进行调试显得尤为重要。...通过不断的实践和学习,你将逐渐掌握安卓开发的技巧,成为安卓开发的高手。

    手打从菜鸟到入门--电脑篇

    手打从菜鸟到入门--电脑篇 此文章推荐刚刚接触电脑的朋友们阅读,书籍会更新,属于网络文章,相信对大多数网友会有帮助!

    android商城源码(菜鸟商城)

    本源码包"cniao5-shop-master"是一个专门为Android平台设计的商城应用项目,名为“菜鸟商城”。这个源码库包含了完整的Android应用开发所需的所有组件和功能,对于开发者来说,无论是学习Android应用开发,还是进行...

    菜鸟飞飞飞-微服务架构的想法

    菜鸟飞飞飞-微服务架构的想法

    STM32菜鸟学习手册-罗嗦版

    STM32菜鸟学习手册-罗嗦版 。

    CCNA菜鸟笔记640-802

    《CCNA菜鸟笔记640-802》是一份针对初学者的全面学习资源,包含两部分:《CCNA菜鸟笔记2007修正版》和《CCNA 640-802课程讲义》。这些文档旨在帮助读者理解和掌握Cisco Certified Network Associate(CCNA)认证考试...

    DelPhi7教程之菜鸟先飞版--帮你打通任督二脉(第1式).asp.rar

    《Delphi7教程之菜鸟先飞版--帮你打通任督二脉(第1式)》是一份专为初学者设计的教程,旨在帮助新手快速掌握Delphi7编程的基础知识和技巧。Delphi7是一款强大的Windows应用程序开发工具,以其高效的代码生成、直观的...

Global site tag (gtag.js) - Google Analytics