欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android开发小技巧1 博客分类: 技术总结 Android开发小技巧 

程序员文章站 2024-03-11 23:38:31
...

小技巧

TextView上显示网址:增加属性android:autoLink=”all”

 

代码中更改TextView背景色:

Resources resources = getBaseContext().getResources();

Drawable hippoDrawable = resources.getDrawable(R.drwaable.white);

TextView tv = (TextView) findViewByID(R.id.text);

Tv.setBackground(hippoDrawable);

 

获取手机屏幕大小:

DisplayMetrics dm = new DisplayMetrics();

getWindowManager().getDefaultDisplay().getMetrics(dm);

//将高宽放入dm

dm.widthPixels  dm.heightPixels

 

可以指定样式,在组件中通过style=”@style/stylename”引用,样式放于res/values/style.xml中,格式:

<style name=””>

   <item name=”key”>value</item>

</style>

引申一步:变化主题也可以通过此种方式实现。将style写在文件中,调用setThem(R.style.name)即可生成。除了setThem外,还可以在AndroidManifext.xml文件中的activity中设置android:theme=””设置。

 

 

手机页面转换可以通过setContentView实现。如点击页面1按钮跳到页面2,则设置页面1按钮的点击事件时,通过setContentView引入页面2.

使用setContentView置换页面的优点是:所有程序中的变量皆存在相同的状态,无论是类变量、类函数,都在一个Activity中直接取得,并没有参数传递。

 

两个Activity之间的跳转通过Intent实现。如AB跳转,则需要将A注册在Androidmanifest.xml中:

<activity android:name=”A” android:label=”@string/app_name”>

  <intent-filter>

    <action android:name=”android.intent.action.MAIN”>

<category android:name=”android.intent.category.LAUNCHER”>

//标记启动时执行

</intent-filter>

</activity>

如果切换Activity时,执行A.finish(),则结束A;从B不能返回A

 

不同Intent通过Bundle传递参数,放入Intent.putExtras(bundle)

其他Intent通过this.getIntent.getExtras()得到Bundle

若要从Activity B返回数据到前一个Activity A,则需A调用startActivityForResult(intent,0),0B返回数据的依据,并重写onActivityResult()A收到result后执行操作。这里会有result_code作为2边数据标记,B需要this.setResult(RESULT_OK,intent);A需要case RESULT_OK

 

改变TextView的文本颜色setTextColor,文本大小setTextSize()、文本字体setTypeface(Typeface.createFromAsset(getAssets(),”fonts/字体.ttf”));assets文件夹建立fonts文件夹,存放各种字体文件。

 

拖动照片特效:Gallery

 

全屏幕以按钮重写很简单:即在代码中写一个按钮,添加到senContentView中,再添加点击事件即可。

 

Res/values/strings.xml中添加数组方法:

<array name=””>

  <item></item>

</array>

 

具有选择功能的对话框可以用AlertDialog嵌套DialogInterface实现。

 

EditText属性android:hint=””设置输入框默认文字

 

显示输入的密码:EditTextsetTransformationMethod()实现,正常显示样式获得:HideReturnsTransfromationMethod.getInstance(),隐藏输入字符:PasswordTransformationMethod.getInstance();

 

多语系支持:不同语系在res目录下建立不同后缀文件夹,如values/strings.xml表示中文,values-en/strings.xml表示英文。

还可以在程序中改变地区Local

Resources res = getResources();

Configration conf = res.getConfiguration();

Conf.local = Local.JAPAN;

DisplayMetris dm = res.getDisplayMetris();

//保存语系更改

Res.updateConfiguration(conf, dm);

 

判断手机OS版本是否允许允许应用程序:

If(getApplicationInfo().targetSdkVersion() <= Build.VERSION_CODES>GINGERBREAD)

AndroidManifext.xml中表述了允许程序的最低版本:

<uses-sdk android:minSdkVersion=”10”></uses-sdk>

 

关闭程序进程:

Android.os.Process.killProcess(android.os.Process.myPid());

 

2个不同应用程序彼此调用:

Inent.setClassName(“app package name”,” app package对应的Activity”);

传入Bundlekey app package对外公开。

 

指定安装应用程序迁移到SD卡:

点击按钮后,onclick方法实现:

Intent I =new Intent(“android.intent.action.MANAGE_PACKAGE_STROAGE”);

并在AndroidManifest.xmlmanifest标签下增加属性:

Android:installLocation=”prferExternal”

<uses-sdk android:minSdkVersion=”10” /> SDK2.2

 

手机状态Layout随手势物换迁移:ViewFipper左右滑动事件,实现onTouchEvent方法

 

EditText有一个键盘监听事件setOnKeyListener(new EditText.OnKeyListener(){})

 

Toast是一个简短的小信息,将要告诉用户的信息以一个浮动在最上层的View显示,显示Toast后,静待几秒会消失,常见的是音量大小的调整。通过Toast特性,可以在不影响用户通话或听音乐的情况下,显示给用户消息。对于程序员来说,还是Debug的工具。

Toast.makeText(当前类.this,”文本”,Toast.LENGTH_LONG)最后一个参数是时间长短。

也可以自定义ToasT对象:Toast toast = new Toast(this);

ImageVIew iv =new ImageView(this);

iv.setImageResource(R.drawable.XX);

toast.setView(iv);

toast.show();

 

按钮设置可否点击setEnable(true or false)