`
xindrace
  • 浏览: 96721 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android学习笔记

 
阅读更多

1 获取屏幕的宽和高
1)getWindowManager().getDefaultDisplay().getWidth();
     getWindowManager().getDefaultDisplay().getHeight();

2)((WindowManager) getSystemService(WINDOW_SERVICE) .getDefaultDisplay().getWidth();
     ((WindowManager) getSystemService(WINDOW_SERVICE) .getDefaultDisplay().getHeight();

2 加载Animation
Animation animation = AnimationUtils.loadAnimation(this, R.anim.push_left_in);

3 判断字符串s中是否包含c字符
boolean isContains = s.contains(c);

4 获得service和activity本身实体的方法
private static ServiceName/ActivityName instance = null;
在onCreate()中使用instance = this; 来存储自己的实体。
public void onCreate(){
super.onCreate();
name = this;
}

编写一个静态方法返回实体
public static ServiceName/ActivityName getInstance(){
return instance;
}

5 获得系统当前语言
1)String currentLanguage = getResources().getConfiguration().local.getCountry();

2)IActivityManager am = ActivityManagerNative.getDefault();
             Configuration config = am.getConfiguration();
             String currentLanguage = config.locale.toString();

6 锁定横竖屏
在Manifest.xml中的相应的activity中加入如下属性:
android:screenOrientation = "portrait"
//设置activity只显示竖屏
android:screenOrientation= "landscape"
//设置activity只显示横屏

7 横竖屏切换不销毁当前activity
在Manifest.xml中的相应的activity中加入如下属性:
android:configChanges="orientation|keyboardHidden"
在activity中重写public void onConfigurationChanged(Configuration newConfig)方法。

8 在activity中判断当前横竖屏状态
Configuration newConfig = this.getResources().getConfiguration();
if(newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
当前为竖屏状态
}
if(newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE){
当前为横屏状态
}


9 检查网络是否可用
        ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo info = cm.getActiveNetworkInfo();
        boolean hasNetwork = false;
        if (info != null) {
            hasNetwork = info.isAvailable();
        }


10 常用主题
android:theme="@android:style/Theme.Dialog"将一个Activity显示为对话框的模式
android:theme="@android:style/Theme.NoTitleBar" 不显示应用程序的标题栏
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 不显示应用程序的标题栏,并全屏
android:theme="@android:style/Theme.Light"将一个Activity的背景设置为白色
android:theme="@android:style/Theme.Light.NoTitleBar"将一个Activity的背景设置为白色并无标题栏

android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen"将一个Activity的背景设置为白色并无标题栏并全屏
android:theme="@android:style/Theme.Black" 将一个Activity的背景设置为黑色
android:theme="@android:style/Theme.Black.NoTitleBar" 将一个Activity的背景设置为黑色
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 将一个Activity的背景设置为黑色并无标题栏并全屏
android:theme="@android:style/Theme.Wallpaper" 用系统桌面为应用程序背景

android:theme="@android:style/Theme.Wallpaper.NoTitleBar" 用系统桌面为应用程序背景,并无标题栏
android:theme="@android:style/Theme.Wallpaper.NoTitleBar.Fullscreen" 用系统桌面为应用程序背景,并无标题栏并全屏android:theme="Translucent"android:theme="Theme.Translucent.NoTitleBar"android:theme="Theme.Translucent.NoTitleBar.Fullscreen"android:theme="Theme.Panel"

android:theme="Theme.Light.Panel"

11唤醒屏幕

PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
//获得cpuWakeLock
PowerManager.WakeLock cpuWakeLock =  powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK
                | PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.ON_AFTER_RELEASE, Log.LOGTAG);
cpuWakeLock.acquire();

//获得screenWakeLock
PowerManager.WakeLock screenWakeLock = powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK
                | PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.ON_AFTER_RELEASE, Log.LOGTAG);
screenWakeLock.acquire();

//释放cpuWakeLock
cpuWakeLock.release();

//释放screenWakeLock
screenWakeLock.release();

12 判断当前是否为锁屏状态
boolean isLocked = false;
KeyguardManager km = (KeyguardManager) getSystemService(
                        Context.KEYGUARD_SERVICE);
if (km.inKeyguardRestrictedInputMode()) {
                 isLocked = true;
   }

13 MotionEvent的getX(),getY()与getRawx(),getRawY()的区别
如果是Activity实现OnTouchListener接口,需要重写onTouch(View view,MotionEvent event)这个方法,getRawX()和getRawY()获得的是相对屏幕的位置(整个屏幕),getX()和getY()获得的永远是view的触摸位置坐标(这两个值不会超过view的长度和宽度)。也就是getX()永远是你触摸的view的x位置,这个x就是鼠标相对于这个view的位置;getY()也是同样的处理。
getRawX()是你触摸的view的x位置,这个位置是相对于屏幕的位置,getRawY也是同样的处理。
还能获取触摸标题栏时的坐标位置,但是触摸状态栏时的坐标位置不能获得。

如果重写Activity的onTouchEvent(MotionEvent event),这个时候获得的是屏幕点击位置的坐标。getRawX()和getRawY()获得的是相对屏幕的位置(整个屏幕),getX()和getY()获得的永远是view的触摸位置坐标(这两个值不会超过view的长度和宽度)。也就是getX()永远是你触摸的view的x位置,这个x就是鼠标相对于这个view的位置;getY()也是同样的处理。而且标题栏和状态栏时的坐标位置都是不能获得。
(注:Activity上有两段宽度:一个是状态栏,一个是标题栏,每一个宽度都占了25像素)

14 view的getTop(),getBottom(),getLeft(),getRight()方法所获得的值

getTop()方法可以得到一个View的位置,这个方法返回的是相对于其父元素的位置,例如,如果getTop()返回20,则表示它和其直接父元素的上边界的距离是20像素。getBottom(),getLeft(),getRight()方法的用法与getTop()方法相同。另外,有一些方法的存在只是为了写程序的方便,如getRight()和getBottom()。getRight()和getLeft()+getWidth()的作用是一样的。而getBottom()和getTop()+getHeight()的作用是一样的。

分享到:
评论
2 楼 xindrace 2011-11-16  
  终于有人给回复了  谢谢了!!!!!
1 楼 songfantasy 2011-11-16  
挺有用的,呵呵。

相关推荐

    第一行代码 android学习笔记 完整版

    "Android学习笔记" Android学习笔记是Android开发者的必读书籍,书中涵盖了Android系统架构、Activity、Intent、资源管理等多方面的知识。本笔记对应的学习资源《第一行代码》是Android开发者的入门必读书籍,书中...

    Android学习笔记(十)——实现新闻列表

    Android学习笔记(一)——创建第一个Android项目 Android学习笔记(二)android studio基本控件及布局(实现图片查看器) Android学习笔记(三)android studio中CheckBox自定义样式(更换复选框左侧的勾选图像) ...

    android 学习笔记

    Android学习笔记(1)-永远不变的Hello World Google的Android SDK发布也有一段时间了,一直想研究一下却苦于找不到时间。利用这个周未,开始强迫自己再次进入学习状态,原因很简单:我看好开放的gPhone。 SDK的下载...

    Android 学习笔记

    这篇学习笔记主要涵盖了关于布局的一些基本概念,特别是`fill_parent`和`wrap_content`这两种尺寸指定方式,以及如何通过XML布局文件来精确控制组件的位置。 首先,`fill_parent`和`wrap_content`是Android布局中的...

    android学习笔记.zip

    《Android学习笔记》 在移动应用开发领域,Android操作系统占据着重要的地位,为开发者提供了丰富的API和工具,使得创建各种应用程序变得可能。本压缩包文件包含了一位学习者从第一天到第五天,以及一个特定项目...

    android 学习笔记(全全整理)

    Android学习笔记全全整理,是针对想要深入理解并掌握Android开发技术的学习者们的一份宝贵资源。这份笔记涵盖了从基础到高级的多个方面,旨在帮助读者建立起完整的Android知识体系。以下将详细介绍其中可能包含的...

    java学习细节 android学习笔记

    根据给定的信息,我们可以从Java和Android学习笔记中提取出一系列重要的知识点,下面将逐一进行详细解释。 ### Java基础知识 #### 1. 命令行基础操作 - **`javacmd`**: 这个命令是Java命令行工具的一部分,用于...

    java、linux、Android 学习笔记

    【Android学习笔记】 Android是一个开源的移动操作系统,主要应用于智能手机和平板电脑。它由Google主导并开源,基于Linux内核。学习Android开发,你需要熟悉Java或Kotlin语言,理解Android SDK、Android Studio...

    android 学习笔记doc

    在Android学习过程中,掌握核心概念和技术是至关重要的。这篇学习笔记涵盖了Android开发的基本知识点,旨在帮助初学者系统地理解和深入探索这个平台。 1. **Android系统架构**:Android由Linux内核、硬件抽象层...

    Android学习笔记.rar

    这份“Android学习笔记”涵盖了从基础到进阶的Android开发知识,旨在帮助开发者深入理解Android系统,并具备开发高质量Android应用的能力。 一、Android系统架构 Android系统分为四个主要层次:Linux内核、系统库和...

    黑马程序员Android学习笔记

    《黑马程序员Android学习笔记》是一份专为初学者设计的详尽教程,旨在帮助那些希望踏入安卓开发领域的人员快速掌握核心知识。这份笔记涵盖了从基础到进阶的多个主题,帮助学习者系统地理解Android应用开发的过程。 ...

    Android学习笔记--Binder

    【Android学习笔记--Binder】 Binder是Android系统中的核心组件,它是Android系统实现进程间通信(IPC,Inter-Process Communication)的主要方式。Binder机制允许不同进程的组件之间进行数据交换和功能调用,就像...

    Android学习笔记整理.pdf

    Android学习笔记整理.pdf

Global site tag (gtag.js) - Google Analytics