`

Android---常用方法

 
阅读更多
1、获取资源:  Resources res = getBaseContext().getResources();
Drawable draw=res.getDrawable(R.drawable.icon);
2、获得数组:   String[] ary = getResources().getStringArray(R.array.ary);
3、自动提示框:
String[] arrays=new String[]{"a","ab","abc","bc","bcde","ee"};
        actalert=(AutoCompleteTextView)findViewById(R.id.actalert);
        ArrayAdapter<String> adapter=new ArrayAdapter<String>(
                this,
                android.R.layout.simple_dropdown_item_1line,
                arrays);
        actalert.setAdapter(adapter);
       
       
        mactalert=(MultiAutoCompleteTextView)findViewById(R.id.mactvalert);
        mactalert.setAdapter(adapter);
// 设置多个值之间的分隔符,此处为逗号
        mactalert.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
4、spinner设置数据源
spncolor.setPrompt("请选择");
        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
                this, R.array.attr, android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spncolor.setAdapter(adapter);
5、显示当前时间:
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); 
        //  将当前时间显示在TextView组件中 
        tvTime.setText("当前时间:" + sdf.format(new Date()));
6、代码添加布局文件
AbsListView.LayoutParams lp = new AbsListView.LayoutParams( 
                    ViewGroup.LayoutParams.FILL_PARENT, 64); 
 
            TextView text = new TextView(activity); 
            text.setLayoutParams(lp); 
            text.setTextSize(20); 
            text.setGravity(Gravity.CENTER_VERTICAL | Gravity.LEFT); 
            text.setPadding(36, 0, 0, 0); 
            text.setText(s);
7、自定义窗口标题栏代码
  requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);//自定义标题栏
        setContentView(R.layout.main);
        //为标题栏设置一个xml布局
        getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title_custom);
custom_title.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content">
 
    <TextView android:id="@+id/tvtitle"
         android:layout_width="wrap_content" android:layout_height="wrap_content"
         android:layout_alignParentLeft="true"></TextView>
        
    <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/tvtile" android:orientation="horizontal"
        android:layout_alignParentRight="true" android:gravity="center">
       
        <Button android:text="@string/answer" android:id="@+id/btnanswer"
            android:layout_width="wrap_content" android:layout_height="wrap_content"
            android:background="@color/btn_inter" android:layout_marginRight="8dp"
            android:gravity="center" android:paddingTop="2dp"></Button>
           
         <Button android:text="@string/submit" android:id="@+id/btnsubmit"
             android:layout_width="wrap_content" android:layout_height="wrap_content"
             android:background="@color/btn_inter" android:layout_marginRight="8dp"
             android:gravity="center" android:paddingTop="2dp"></Button>
       
       
   
     </LinearLayout>
</RelativeLayout>




8、Activity仿Dialog Theme(加图标和标题其实就是Activity的icon和titile)(1)、自定义样式
<style name="Theme.CustomDialog" parent="android:style/Theme.Dialog"> 
    <item name="android:windowBackground">@drawable/filled_box</item> 
</style>
@drawable/filled_box:资源文件中新建drawable文件夹,新建filled_box样式xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="#f0600000"/> 
    <stroke android:width="3dp" color="#ffff8080"/> 
    <corners android:radius="3dp" /> 
    <padding android:left="10dp" android:top="10dp" 
        android:right="10dp" android:bottom="10dp" /> 
</shape>
(2)Manifest.xml中配置Acitivity样式
<activity android:name=".Main"
                  android:label="@string/app_name"
                  android:theme="@android:style/Theme.Dialog">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
(3)为Activity设置图标
//设定窗口模式(仿Dialog中的icon,带有一个左图标)
        requestWindowFeature(Window.FEATURE_LEFT_ICON);
       
        setContentView(R.layout.main);
        //设置图片资源
         getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON
           , R.drawable.icon);
9、从一个Activity1到另一个Activity2,当在第二个Activity2按返回键不出现Activity1的做法是在打开Activity2的同时关闭Activity1
Intent intent = new Intent(Main.this, fowardwidget.class);
        startActivity(intent);
        finish();
10、允许TextView的文本值拼接
(1)允许在TextView的文本值后添加buffer text
tv.setText(tv.getText(),TextView.BufferType.EDITABLE);
(2)使用Editable对象添加buffer text
Editable text=(Editable)tv.getText();
text.append("editable");
text.append("\n"):
11、如果历史栈中包含Activity,打开此Activity从栈中放到栈顶层而不是从新打开Activity
Intent intent = new Intent(ReorderFour.this, ReorderTwo.class);
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);
12、避免输入法面板遮挡,在manifest.xml中activity中设置android:windowSoftInputMode
android:windowSoftInputMode="stateVisible|adjustResize"
13、获取当前手机壁纸和设置手机壁纸(wallpaper)(1)获取当前壁纸
WallpaperManager wm=WallpaperManager.getInstance(this);
Drawable wallpaper=wpm.getDrawable();
(2)设置当前壁纸,同时要添加壁纸设置权限
imapaper.setDrawingCacheEnabled(true);
Drawable drawale=this.getResources().getDrawable(R.drawable.bg);
imapaper.setImageDrawable(drawale);
wpm.setBitmap(imapaper.getDrawingCache());
<uses-permission android:name="android.permission.SET_WALLPAPER"></uses-permission>
14、常见通过系统服务得到的实例化对象
NotificationManager nm=(NotificationManager)getSystemService(NOTIFICATION_SERVICE);
15、检查网络是否连接
  //检查网络是否连接
    public boolean checkIntent(){
        ConnectivityManager mannager=(ConnectivityManager)
              this.getSystemService(CONNECTIVITY_SERVICE);
        NetworkInfo info=mannager.getActiveNetworkInfo();
        if(info==null || !info.isConnected()){
            return false;
        }
        if(info.isRoaming()){
            return true;
        }
        return true;
    }
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>






16、从资源文件中(asset)读取文本文档
//获得输入流
InputStream in=getAssets().open("read_asset.txt");
int size=in.available();
//将输入流读到字节数组中(内存)
byte[] buffer=new byte[size];
in.read(buffer);
in.close();
String text=new String(buffer);
17、TextView、Button等设置文本滚动(跑马灯效果),控件必须获得焦点才能有滚动效果,并且文字长度大于控件长度
    android:singleLine="true"
    android:ellipsize="marquee"
    android:focusable="true"
    android:marqueeRepeatLimit="marquee_forever"
//marquee_forever:一直滚动下去,n(整数):滚动n次
18、TextView文本添加下划线
TextView textView = (TextView)findViewById(R.id.testView);   
textView.setText(Html.fromHtml("<u>"+"hahaha"+"</u>"));
19、TextView添加图片
String src=""+R.drawable.qq;
       
        Html.ImageGetter imageGetter =new ImageGetter() {
            Drawable draw=null;
            @Override
            public Drawable getDrawable(String source) {
                // TODO Auto-generated method stub
                int id=Integer.parseInt(source.trim());
                draw=getResources().getDrawable(id);
                draw.setBounds(0, 0, draw.getIntrinsicWidth(), draw.getIntrinsicHeight());
                return draw;
            }
        };
        tvquestion.append(Html.fromHtml("<img src="+src+"", imageGetter, null));
20、秒转成00:00:00
  int hour=time/60/60%60;
            int minute = time/60%60;
            int second = time%60;
            String strhour=hour<10 ? "0" + hour : "" + hour;
            String strminutes=minute<10 ? "0" + minute : "" + minute;
            String strseconds=second < 10 ? "0" + second : "" + second;
            tvtimer.setText(strhour+":"+strminutes+":"+strseconds);
21、TextView添加滚动条
<ScrollView android:id="@+id/sv_e8_question"
        android:layout_width="fill_parent" android:layout_height="180dp"
        android:scrollbarStyle="outsideOverlay">
            <TextView android:text="@string/question" android:id="@+id/tv_e8_question"
                android:layout_width="fill_parent" android:layout_height="wrap_content"
                android:paddingTop="5dp" android:paddingLeft="5dp"></TextView>
    </ScrollView>
22、Activity自动销毁时调用onSaveInstanceState()方法保存配置信息:可多Activity共享
  @Override
    public void onSaveInstanceState(Bundle outState){
        SharedPreferences.Editor editor=getSharedPreferences("sp_timer", 0).edit();
        editor.putInt(arg0, arg1);
        super.onSaveInstanceState(outState);
    }
单个Activity保存
  @Override
    public void onSaveInstanceState(Bundle outState){
        SharedPreferences.Editor editor=this.getPreferences(0).edit();
        editor.putInt(arg0, arg1);
        super.onSaveInstanceState(outState);
    }
分享到:
评论

相关推荐

    Android-PullToRefresh-master

    在Android平台上,ListView是一种常用的控件,用于显示大量的列表数据。然而,为了使应用更加生动、交互性更强,开发者通常会引入“拉动刷新”功能,让用户在滚动到列表顶部时能够手动触发新数据的加载。"Android-...

    Android SDK (SDK Platforms)-android-25.zip

    1. **App Shortcuts**:允许用户通过长按应用图标快速访问常用功能。 2. **Daydream VR 支持**:增加了对Google Daydream虚拟现实平台的支持。 3. **Image Keyboard Support**:应用可以发送图片和其他媒体内容给...

    androidsdk-platforms-android-25.rar

    首先,Android 7.1引入了App Shortcuts,这是一个允许开发者创建快捷方式的功能,用户可以通过长按应用图标快速访问常用功能或信息。这对于提升用户体验和应用的实用性有着显著的帮助,同时也为开发者提供了更多展示...

    Android-android-commonAndroid常用公共库

    本资源“Android-android-commonAndroid常用公共库”正是这样一个集合,它包含了多个实用模块,如ImageCache、HttpCache、DropDownListView、DownloadManager以及Utils,这些都是Android开发者在日常工作中经常需要...

    ksoap2-android-assembly-2.4-jar-with-dependencies

    在Android开发中,kSOAP2-android是开发者常用的工具,用于与服务器端的Web服务进行交互。标题中的"ksoap2-android-assembly-2.4-jar-with-dependencies"是一个包含所有依赖的jar包,它使得开发者无需额外处理依赖...

    android-serialport-api-master

    串口通信(Serial Port Communication)是计算机硬件之间常用的数据传输方式,通常涉及RS-232、USB转串口等硬件接口。在Android系统中,由于权限和安全性的限制,直接操作串口并非易事。"android-serialport-api"库...

    Android应用源码之android-times-square Android日历部件.zip

    在Android开发中,日历控件是一个常用且重要的组件,它能够帮助用户方便地选择日期,为应用程序提供时间相关的功能。android-times-square是一个专门为Android设计的日历部件库,它为开发者提供了美观、易于使用的...

    spring-android-samples

    在"spring-android-samples"的文件上传案例中,我们可以看到如何将文件与请求参数一起打包,然后通过`RestTemplate`的`execute`方法发送。 三、JSON请求 JSON是现代API最常用的交换格式。Spring for Android提供了...

    Android代码-Rtsp-Android-Client

    [x] 支持H264硬解码显示(Android 4.1以上版本支持) [ ] 支持H264软解码显示 &gt; - [ ] 支持ACC音频 使用方法 使用Jcenter仓库 &gt; compile "com.aaronhan:rtspclient:0.7" 调用RtspClient方法 private ...

    android-28(完整可用).zip

    本文将详细探讨“android-28(完整可用).zip”这个压缩包在Cocos环境搭建和Android开发中的重要性及使用方法。 首先,`android-28`代表的是Android操作系统的API级别28,对应的是Android Pie(9.0)版本。这个版本的...

    android-sticky-viewpagerAndroid 源代码

    在Android开发中,`ViewPager`是一个非常常用的组件,它允许用户通过左右滑动来浏览多个页面,常用于实现Tab切换或者水平滚动的效果。然而,有时我们可能需要在`ViewPager`中实现一种“粘性”效果,即某个特定的页面...

    Android-Universal-Image-Loader使用详解

    Android-Universal-Image-Loader(UIL)是一款广泛应用于Android开发中的图片加载库,它提供了强大的功能,包括异步加载、缓存策略...理解并熟练运用其各种特性和方法,对于提升Android应用的性能和用户体验至关重要。

    Android--开发--常用图片特效处理.rar

    这个名为"Android--开发--常用图片特效处理.rar"的压缩包很可能包含了实现各种图片特效的技术文档、示例代码或库资源。下面我们将详细探讨一些Android平台上常见的图片特效处理技术。 1. **图片裁剪与旋转**: 在...

    android-sdk-windows

    1. **Android SDK Platform-tools**:包含了adb(Android Debug Bridge)等常用工具。 2. **Android SDK Build-tools**:用于编译和打包Android应用。 3. **Android SDK Platforms**:包含了特定版本的Android系统...

    android-async-http progress-wheel测试程序

    这种圆形滚动条是Android开发者常用的一种视觉反馈方式,能够提高用户体验,让用户知道应用程序正在后台工作。 这个"android-async-http progress-wheel测试程序"是为了展示如何结合这两个库来实现一个功能完善的...

    Android-PullToRefresh-master简单使用

    下拉刷新是移动应用中常用的一种设计,通常用于列表视图。当用户在顶部下拉时,列表会显示一个刷新指示器,表示正在加载新数据。一旦数据加载完成,列表会自动恢复到正常状态。Android-PullToRefresh库提供了这一...

    Android-Opencv-Ncnn实现图片人像换背景-前言(资源准备)-实时摄像头抠像

    在人像换背景或抠像任务中,OpenCV的背景减除和分割算法如KNN(K-Nearest Neighbors)或GrabCut是常用的方法。 ncnn则是一个轻量级的神经网络推理框架,适用于移动端设备。它优化了计算性能,适合在Android平台上...

    android-android-ui-design-patterns.rar_Android UI Design_Android

    8. **适配多分辨率和屏幕尺寸**:Android设备的屏幕尺寸和分辨率多样化,因此UI设计需考虑如何适应不同屏幕,使用比例单位(如dp和sp)和百分比布局是常用的方法。 9. **动画和过渡效果**:动画和过渡不仅可以提升...

    android-support-multidex.jar.zip

    在Android应用开发过程中,我们常常会遇到一个限制,即单个Dex文件(Dalvik Executable)最多只能包含65536个方法引用。这个限制对于大型或者依赖众多库的应用来说,很容易就达到上限。为了解决这个问题,Google推出...

    Android-Universal-Image-Loader-master

    **Android-Universal-Image-Loader** 是一个在Android开发中常用的开源库,专门用于实现图片的异步加载。这个库的出现解决了Android应用在处理大量图片时可能出现的性能问题,如内存溢出(OOM)和用户界面卡顿。异步...

Global site tag (gtag.js) - Google Analytics