![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
q40579717
这个作者很懒,什么都没留下…
展开
-
对于ImageView的两个方法而言。 setImageResource 和 setBackgroundResource
setImageResource 和 setBackgroundResource这两个方法,调用setImageResource方法时,在源码中会自动调用requestLayout();方法,而调用setBackgroundResource方法时,不会。 所以在游戏项目中,对由于倒计时的刷新而影响了手牌回退的现象,我们采取使用setBackgroundResource的方式,而原创 2015-06-10 17:06:54 · 1567 阅读 · 0 评论 -
TextView加上滚动条
方式一:1) android:scrollbars="vertical" />2)还需要在代码中设置 TextView 相应的方法TextView textView = (TextView)findViewById(R.id.text_view); textView.setMovementMethod(ScrollingMovementMethod.getI原创 2015-06-10 17:03:13 · 344 阅读 · 0 评论 -
用代码给一个控件设置宽高。
View localView = LayoutInflater.from(this).inflate(R.layout.tab_indicator, getTabWidget(), false);localView.getLayoutParams().height = 30;原创 2015-06-10 17:04:09 · 531 阅读 · 0 评论 -
关于TabHost底部按钮的设计。
1)可以使用android自带的方式,即传入按钮的图片Drawable,或者路径。此种方式的按钮高度是自动根据比例来显示的。Drawable dd = getResources().getDrawable(paramInt);localTabSpec.setIndicator("",dd);2)也可以自定义View,在xml文件中设计样式,在设置到Indicator里面。如果需原创 2015-06-10 17:04:33 · 299 阅读 · 0 评论 -
屏蔽GridView自带的点击效果。
gridView.setSelector(new ColorDrawable(Color.TRANSPARENT));原创 2015-06-10 17:05:19 · 269 阅读 · 0 评论 -
关于android的屏幕截屏。
View decorview = ScreenActivity.this.getWindow().getDecorView(); 1) 此处的getWindow是从Activity中获得,截屏的对象就是Activity。 View decorview = dialog.getWindow().getDecorView(); 2) 此处的getWindow是从Dialog中获原创 2015-06-10 17:06:01 · 269 阅读 · 0 评论 -
对于Activity被finish之后,资源的释放需要注意以下几点。
1)如果有其他类对context本身有引用的话,Activity被finish之后是不会释放资源的。2)还有如果其他类中有控件未被置空,内存也下不来。注意这个其他类指的是非GameActivity类,Activity的类,就不需要依次去将控件置空。3)华为的手机在eclipse中可以直接手动清除资源,三星、摩托等手机只有当手机内存不足的时候才会被清除。原创 2015-06-10 17:07:19 · 2332 阅读 · 0 评论 -
DownloadManager 2.3平台后提供的系统自带的下载工具类。
使用示例如下:manger = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);File file = new File(openPath);if(file.exists() == false){file.mkdirs();}DownloadManager.Request down = new Dow原创 2015-06-10 17:07:50 · 347 阅读 · 0 评论 -
与服务端进行数据交互时分类处理。
(1)如果是用的json来作为交互格式,建议使用android中的SharedPreferences来暂时存储数据,再在Activity中去解析json数据,展示在界面上。(2)如果是用的套接字,使用的是ChannelBuffer一个字节一个字节读取的方式来获取数据的。分两种情况,A、如果是简单的对象交互,例如基本类型,仍然可以使用android中的SharedPref原创 2015-06-10 17:13:38 · 335 阅读 · 0 评论 -
自定义控件时,一定要实现它的构造方法,
定义控件时,一定要实现它的构造方法,而且是带两个参数的那个构造方法,不然在调用findviewbyid()或者setContentView()时将会报错,提示说找不到该class。原创 2015-06-10 17:01:58 · 686 阅读 · 0 评论 -
对于View类的requestLayout()方法理解:
在View对象在发生一系列的变化过程中,如移动,变形等,再想回到原来的位置以及形状大小(即当初在xml文件中设置的),可以调用此方法解决问题。原创 2015-06-10 17:00:18 · 361 阅读 · 0 评论 -
视图局部中,父类设置为不可见,则子类也不可见,即便在代码中 有意设置子类可见 也不行。
视图局部中,父类设置为不可见,则子类也不可见,即便在代码中 有意设置子类可见 也不行。原创 2015-06-10 16:57:52 · 358 阅读 · 0 评论 -
ScrollView监听滑动到底部的处理。
需要自定义一个ScrollView,去覆写onScrollChanged方法。@Overrideprotected void onScrollChanged(int l, int t, int oldl, int oldt){if(t + getHeight() >= computeVerticalScrollRange()){//ScrollView滑动到底部了scroll原创 2015-06-10 17:15:02 · 659 阅读 · 0 评论 -
关于android的闪烁动画。 参考原创demo的<20130314帧动画以及动画>
关于android的闪烁动画。 参考原创demo的原创 2015-06-10 17:18:54 · 462 阅读 · 0 评论 -
在同一个textview里面设置一段文字 有不同的 颜色。
StringBuffer source = new StringBuffer(act.getResources().getString(R.string.present_str1));source.append(""+user.getUname()+"的好友度增加2点,您的魅力值增加"+"2点!");present_shuoming_tv.setText(Html.fromHt原创 2015-06-10 17:19:14 · 508 阅读 · 0 评论 -
Android中禁止多点触控的设置
在其父类的控件中添加一句代码:android:splitMotionEvents="false" 例如: android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" and原创 2015-06-10 17:20:00 · 2182 阅读 · 0 评论 -
指定keystore打包app。(可以不用卸载app,直接安装,无视keystore是否相同)
Eclipse-->Window-->Preferences-->Android-->Build 配置Custom debug keystore的路径: 例如 C:\Users\Administrator\Desktop\8888\my.keystore原创 2015-06-10 17:20:56 · 712 阅读 · 0 评论 -
如何将bitmap进行缩放。这里说的是用画笔的方式。
private static Bitmap big(Bitmap bitmap) { Matrix matrix = new Matrix(); matrix.postScale(1.5f,1.5f); //长和宽放大缩小的比例 Bitmap resizeBmp = Bitmap.createBitmap(bitmap,0,0,bitmap.getWidth(),bitmap.原创 2015-06-10 17:21:30 · 542 阅读 · 0 评论 -
android_adb命令知识点
1、错误信息:opendir failed, Permission denied解决方案: 1)首先在手机端安装Superuser Permissions软件; 2)然后执行执行如下命令 adb shell su 手机上点允许 变#号就成功2、将命令行的输出输出到一个文件里。在命令语句后+ >d:aa.txt 示例。原创 2015-06-09 21:32:30 · 257 阅读 · 0 评论 -
屏幕适配采用px为单位的缩放。
对所有布局文件的控件赋值的高宽,都以px为单位。之后加入代码进行比例缩放:MarginLayoutParams lp = (MarginLayoutParams) view.getLayoutParams();lp.height = (int) (view.getHeight() * screenRate);lp.width = (int) (view.getWidth() * scr原创 2015-06-09 21:33:49 · 567 阅读 · 0 评论 -
关于图片拉伸不变形。运用android-sdk中的工具将图片设置成.9格式的。
1)打开工具:E:\slowly\android-sdk-windows\tools\draw9patch.bat2)将图片拖到工具界面中,画线后另存为。画线:图片左上 涂线部分 意为拉伸区域。 图片右下 涂线部分 意为可显示区域。(文字显示在图片中的哪个位置)原创 2015-06-10 17:14:05 · 720 阅读 · 0 评论 -
聊天功能,输入法的事件监听以及输入框的显示。
参考资料:http://www.cnblogs.com/zyw-205520/archive/2013/02/15/2912865.html输入框的非全屏显示需要配置EditView 中 android:imeOptions="flagNoExtractUi"原创 2015-06-10 17:14:37 · 342 阅读 · 0 评论 -
EditText禁止输入中文
EditText禁止输入中文 可以在xml文件中给EditText配置一个属性android:digits="@string/rule_password"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`¬!"£$%^*()~=#{}[];':,./?/*-_+<>@&原创 2015-06-15 17:35:13 · 698 阅读 · 0 评论 -
Android 如何在自己的应用中模拟Home键
今天在做一个应用的时候要用到类似于QQ按返回键并不销毁Activity的方法(即不调用Activity.finish(),系统不调用onDestroy),而是类似于按Home键,让Activity类似于“暂停”(即只调用onPause,onDestroy)。 最开始想到的便是Override onKeyDown 这个方法,但经过调试,发现这个在按下Home键时,系统是不会发送消息到这里处转载 2015-07-17 12:02:00 · 277 阅读 · 0 评论 -
ViewPager左右滑动与SwipeRefreshLayout下拉刷新冲突
ViewPager有个监听事件的回调方法,vPager.setOnPageChangeListener(this); 复写public void onPageScrollStateChanged(int arg0) 此方法是在状态改变的时候调用,其中arg0这个参数有三种状态(0,1,2)。arg0 ==1的时辰默示正在滑动,arg0==2的时辰默示滑动完毕了,arg0==0原创 2015-07-29 09:16:02 · 4340 阅读 · 4 评论 -
软键盘弹出不影响布局的方法
转载自 http://blog.sina.com.cn/s/blog_6271df6f0101dsax.htmlThe AndroidManifest.xml Fileandroid:windowSoftInputMode=["stateUnspecified","stateUnchanged", "stateHidden","stateAlwaysHidden转载 2015-09-10 10:02:50 · 1199 阅读 · 0 评论 -
Android 代码混淆
1、如果你的项目没有其他第三方包的话,那么进行混淆很简单,只需要将project.properties文件夹下面的注释解开就行,一点区别在于:如果您是2.3之前的sdk版本,那么就用这个proguard.config=proguard.cfg如果是之后的则为:proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:progu原创 2015-09-21 16:22:09 · 440 阅读 · 0 评论 -
android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context r
Context中有一个startActivity方法,Activity继承自Context,重载了startActivity方法。如果使用 Activity的startActivity方法,不会有任何限制,而如果使用Context的startActivity方法的话,就需要开启一个新的task,遇到上面那个异常的,都是因为使用了Context的startActivity方法。解决办法是,加一个fl原创 2015-12-24 14:42:22 · 611 阅读 · 0 评论 -
Android清除浏览器缓存
在webview的使用中,使用如下配置的第二种方案依然会出现莫名其妙的情况。//优先使用缓存: WebView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); //不使用缓存: WebView.getSettings().setCacheMode(WebSettings.原创 2016-03-17 17:08:25 · 2384 阅读 · 0 评论 -
Android跨进程通信方式分为4种:
1)直接调用其他进程的Activity。例如调用拨打电话,发短信的服务。Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:12345678" ); 怎么应用到自己的项目中来,如下:(A)在项目A中新建一个TestActivity来作为实验,重点是配置该Activity的Manifest文件,配置如下:原创 2016-04-15 10:37:28 · 540 阅读 · 0 评论 -
Edittext禁止复制粘贴
禁止edittext复制粘贴有以下几种情况,需要区别对待: 1、在API-11以下的版本只需要在Xml布局文件或者用代码把长按属性设置成false就可以;代码如下:editText.setLongClickable(false); // Xml layout file android:longClickable="false" 2、在API-11及以上的话,取消长按就不能完原创 2015-06-12 15:55:18 · 2225 阅读 · 0 评论 -
获取屏幕高宽
DisplayMetrics dm = new DisplayMetrics(); //获取窗口属性 getWindowManager().getDefaultDisplay().getMetrics(dm); int screenWidth = dm.widthPixels;//320 int screenHeight = dm.heightPixels;//480原创 2015-06-09 21:31:58 · 224 阅读 · 0 评论 -
混淆
1、基本语句介绍-libraryjars 'D:\android-sdk-windows\platforms\android-9\android.jar' 【引用的库的jar,用于解析injars所指定的jar类】-dontusemixedcaseclassnames 【混淆时不会产生形形色色的类名 】-dontskipnonpubliclibraryclasses 【指定不去忽原创 2015-06-09 21:31:52 · 237 阅读 · 0 评论 -
ViewStub的使用。
ViewStub是一个轻量级的View,它一个看不见的,不占布局位置,占用资源非常小的控件。 起初需要用到这个的地方是,一个listview中需要视情况来显示一行“---未登陆---”的条目,考虑了给listview加上头view,解决不了此问题,所以选择了使用ViewStub。参考资料:http://blog.csdn.net/hitlion2008/article/deta原创 2015-06-10 17:15:21 · 297 阅读 · 0 评论 -
给图片设置透明度。
(例子:为了方便给离线玩家头像设置灰色头像)方式1:(ImageView)head_img.getBackground().setAlpha(50);方式2:(ImageView)head_img.setAlpha(50);注意:此效果的实现不能使用方式1,因为使用方式1之后,该图片的透明度被设置成半透明,任何ImageView展示该图片都会是半透明 的。 如果是使用的方式2,则仅仅只原创 2015-06-10 17:15:57 · 760 阅读 · 0 评论 -
Xmpp中IQ的使用,可以是阻塞形式的请求。
原本是一个回调的过程,需要等服务器响应数据后才能返回结果,用此种方式可以让线程停止,成为阻塞形式,一定等到返回结果后再进行下一步操作。 参考例子可见:麻将项目,PresencePacketListener类中。UserSearchIQ inviteToUserSearchIQ = new UserSearchIQ(uid); PacketCollector collect原创 2015-06-10 17:16:55 · 672 阅读 · 0 评论 -
关于使用SQLite时的SQLiteOpenHelper类。
onCreate(SQLiteDatabase):在数据库第一次生产的时候会调用这个方法,一般我们在这个方法里边生产数据库表。onUpgrade(SQLiteDatabase,int,int):当数据库需要升级的时候,Android系统会主动的调用这个方法。一般我们在这个方法里边删除数据库表,并建立新的数据库表,当然是否还需要做其他的操作,完全取决于应用程序的需求。onOpen(SQL原创 2015-06-10 17:17:19 · 387 阅读 · 0 评论 -
startActivityForResult与onActivityResult的应用。
说明:从A Activity跳转到B Activity的时候调用的是startActivityForResult方法。则当B Activity销毁后,会进入到A Activity的onActivityResult方法中,在此方法中可以做相应的处理。 onActivityResult(int requestCode, int resultCode, Intent data)1)其中requ原创 2015-06-10 17:17:48 · 360 阅读 · 0 评论 -
关于界面刷新时报错的重要原因。
1)当使用的是刷新整个Activity的时候,A Activity被B Activity所覆盖,这个时候,本地的handler 是B Activity的handler,此时接到服务端的消息,要求刷新A 界面的某个控件,就会报错。 解决的方式有两种,一种是指定局部(指定控件)去刷新,而不刷整个Activity。 第二种是,用回调的方式来刷新界面,给该界面绑定上刷新的监听,当是原创 2015-06-10 17:18:35 · 673 阅读 · 0 评论 -
Android WebView 内存不回收处理办法
android:name=".CleanCarHelpActivity" android:process=":web_view"/>android:process指定一个不同的默认进程在该CleanCarHelpActivity的@Overrideprotected void onDestroy() {System.exit(0);// 杀死该进程,节原创 2015-06-10 17:19:37 · 1211 阅读 · 0 评论