Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 478|回复: 0

开发交流:Android---常用方法[天幕杯]

[复制链接]

该用户从未签到

发表于 2011-10-24 09:56:10 | 显示全部楼层 |阅读模式
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" androidrientation="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);

    }
复制代码
回复

使用道具 举报

该用户从未签到

发表于 2011-10-24 09:56:13 | 显示全部楼层

Re:开发交

写得不错,值得一看!!!
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-24 09:56:16 | 显示全部楼层

Re:开发交

好贴,这些是常用的内容
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-24 09:56:19 | 显示全部楼层

Re:开发交

新手学习中,谢谢
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-24 09:56:21 | 显示全部楼层

Re:开发交

写得不错,值得一看!!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2025-1-11 01:24 , Processed in 0.375617 second(s), 33 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表