Android禁止横屏竖屏切换程序代码
在AndroidManifest.xml的activity(需要禁止转向的activity)配置中加入android:screenOrientation="landscape"属性即可(landscape是横向,portrait是竖屏)。例如:
代码如下 | 复制代码 |
<?xml version="1.0" encoding="utf-8"?> |
另外,android中每次屏幕方向切换时都会重启Activity,所以应该在Activity销毁前保存当前活动的状态,在Activity再次Create的时候载入配置,那样,进行中的游戏就不会自动重启了!
要避免在转屏时重启activity,可以通过在androidmanifest.xml文件中重新定义方向(给每个activity加上android:configChanges=”keyboardHidden|orientation”属性),并根据Activity的重写onConfigurationChanged(Configuration newConfig)方法来控制,这样在转屏时就不会重启activity了,而是会去调用onConfigurationChanged(Configuration newConfig)这个回调方法。例如
代码如下 | 复制代码 |
if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE){ |
需要注意的是如果你的横竖屏布局不一样,那么使用onConfigurationChanged会导致切换之后布局没有变化,所以该设置慎用为好。
.
1,首页为手机安装驱动,如果你没有驱动软件可以在本站下载。(安装驱动后如果手机无法链接上电脑,请打开手机的USB调试,
步骤如下:设置——选择应用程序-——开发;)
2,2、手机关机;
3、按住音量下键+菜单键(最左边)再按住电源键。开机后不要马上松手等待5-10秒,这时开机界面会停留在开机第一屏。
4、松手,插入USB线,进入你指定工具所在的硬盘位置双击打开附件解压后得到的ROOT工具A65-Tools-v2.exe;
root后重启后查看手机菜单是否有“授权管理(superuser)”或“超级用户”,如果有,那恭喜你,ROOT成功了~~如果没有,请多试几次,我就试了三次才成功的
本文章来给大家介绍Android中Bitmap和Drawable用法详解,有需要了解的同学可进入参考。一、相关概念
1、Drawable就是一个可画的对象,其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable),还有可能是一个图层(LayerDrawable),我们根据画图的需求,创建相应的可画对象2、Canvas画布,绘图的目的区域,用于绘图3、Bitmap位图,用于图的处理4、Matrix矩阵二、Bitmap
1、从资源中获取Bitmap
Resources res = getResources();
Bitmap bmp = BitmapFactory.decodeResource(res, R.drawable.icon);
2、Bitmap → byte[]
代码如下 | 复制代码 |
public byte[] Bitmap2Bytes(Bitmap bm) { |
3、byte[] → Bitmap
代码如下 | 复制代码 |
public Bitmap Bytes2Bimap(byte[] b) { |
Bitmap缩放
代码如下 | 复制代码 |
public static Bitmap zoomBitmap(Bitmap bitmap, int width, int height) { |
5、将Drawable转化为Bitmap
代码如下 | 复制代码 |
public static Bitmap drawableToBitmap(Drawable drawable) {
|
6、获得圆角图片
代码如下 | 复制代码 |
public static Bitmap createReflectionImageWithOrigin(Bitmap bitmap) { |
三、Drawable
代码如下 | 复制代码 |
Bitmap bm=xxx; //xxx根据你的情况获取 |
2、Drawable缩放
代码如下 | 复制代码 |
public static Drawable zoomDrawable(Drawable drawable, int w, int h) { |
// 相对于给定ID控件
代码如下 | 复制代码 |
android:layout_above 将该控件的底部置于给定ID的控件之上; android:layout_below 将该控件的底部置于给定ID的控件之下; android:layout_toLeftOf 将该控件的右边缘与给定ID的控件左边缘对齐; android:layout_toRightOf 将该控件的左边缘与给定ID的控件右边缘对齐; android:layout_alignBaseline 将该控件的baseline与给定ID的baseline对齐; android:layout_alignTop 将该控件的顶部边缘与给定ID的顶部边缘对齐; android:layout_alignBottom 将该控件的底部边缘与给定ID的底部边缘对齐; android:layout_alignLeft 将该控件的左边缘与给定ID的左边缘对齐; android:layout_alignRight 将该控件的右边缘与给定ID的右边缘对齐; // 相对于父组件 android:layout_alignParentTop 如果为true,将该控件的顶部与其父控件的顶部对齐; android:layout_alignParentBottom 如果为true,将该控件的底部与其父控件的底部对齐; android:layout_alignParentLeft 如果为true,将该控件的左部与其父控件的左部对齐; android:layout_alignParentRight 如果为true,将该控件的右部与其父控件的右部对齐; // 居中 android:layout_centerHorizontal 如果为true,将该控件的置于水平居中; android:layout_centerVertical 如果为true,将该控件的置于垂直居中; android:layout_centerInParent 如果为true,将该控件的置于父控件的中央; // 外部间隔 android:layout_marginTop 上偏移的值; android:layout_marginBottom 下偏移的值; android:layout_marginLeft 左偏移的值; android:layout_marginRight 右偏移的值; |
RelativeLayout代码
代码如下 | 复制代码 |
RelativeLayout relativeLayout = new RelativeLayout(context); |
看个实例
RelativeLayout代码实现及点击设置
代码如下 | 复制代码 |
public class Main extends Activity {
|
注意:不能在RelativeLayout容器本身和他的子元素之间产生循环依赖,比如说,不能将RelativeLayout的高设置成为WRAP_CONTENT的时候将子元素的高设置成为ALIGN_PARENT_BOTTOM。
1.拿一个普通项目来说,首先为它加上ant编译功能。
代码如下 | 复制代码 |
android update project --name project_name -t 3 -p D:/temp/project_name |
此时会在项目根目录自动生成一个名为build.xml的ant脚本。上面的project_name是你的项目名称。
2.加入混淆功能
就第一步来说,在命令行中已经可以使用ant进行编译了。因为Android中是这样的,在输入命令ant debug的时候会自动调用D:/android-sdk-windows/tools/ant/main_rules.xml目录下的规则文件,所以无需自己写ant脚本了。既然它会调用默认的规则文件(默认文件没有加入混淆功能),那么我们想要混淆,直接在这个规则文件上修改就好了。在名为-dex的target后加入一个target,代码如下:
代码如下 | 复制代码 |
1 <target name="optimize" depends="compile"> <jar basedir="${out.classes.absolute.dir}" destfile="temp.jar"> <java jar="D:/android-sdk-windows/tools/proguard/lib/proguard.jar" fork="true" failonerror="true"><jvmarg value="-Dmaximum.inlined.code.length=32"> <arg value="-injars temp.jar"><arg value="-outjars optimized.jar"><arg value="-libraryjars '${android.jar}'"><!-- value="-libraryjars ${library-jar}/some_lib_used.jar"> --><arg value="-dontpreverify"><arg value="-dontoptimize"><arg value="-dontusemixedcaseclassnames"><arg value="-repackageclasses"><arg value="-allowaccessmodification"> <arg value="-keep public class * extends android.app.Activity"> <arg value="-keep public class * extends android.app.Service"> <arg value="-keep public class * extends android.content.BroadcastReceiver"> <arg value="-keep public class * extends android.content.ContentProvider"> <arg value="-keep public class * extends android.view.View"> <arg value="-optimizationpasses 1"> <arg value="-verbose"><arg value="-dontskipnonpubliclibraryclasses"><arg value="-dontskipnonpubliclibraryclassmembers"><arg value="-ignorewarning"> </arg></arg></arg></arg></arg></arg></arg></arg></arg></arg></arg></arg></arg></arg></arg></!--></arg></arg></arg></jvmarg></java> <delete file="temp.jar"> <delete dir="${out.classes.absolute.dir}"> <mkdir dir="${out.classes.absolute.dir}"> <unzip src="optimized.jar" mce_src="optimized.jar" dest="${out.classes.absolute.dir}"> <delete file="optimized.jar"></delete></unzip></mkdir></delete></delete></jar></target> |
修改上面代码涉及到路径的地方,改成本地对应的路径。<arg value="-ignorewarning"/>这一行是自己加入的,意思是忽略警告。
接着在名为-dex的target中进行一个混淆依赖,加入后代码如下:
代码如下 | 复制代码 |
1 <target name="-dex" depends="compile, optimize, -post-compile, -obfuscate" unless="do.not.compile"> <if condition="${manifest.hasCode}"> <then> <dex-helper> </dex-helper></then> <else> <echo>hasCode = false. Skipping...</echo> </else> </if></target> |
实际上加入的只是optimize,意思是这个target依赖target optimize。
3.开始编译
可以在命令行中编译了,编译后把class.dex进行反编译,可以看出来混淆成功。不知道为什么在我们的项目中反编译不回来,但是可以保证混淆是成功了。我拿过其他例子项目编译后反编译过,可以看下图:(不好意思,注册一星期之内不能上传图片)
相关文章
- 下面我们来看一篇关于Android子控件超出父控件的范围显示出来方法,希望这篇文章能够帮助到各位朋友,有碰到此问题的朋友可以进来看看哦。 <RelativeLayout xmlns:an...2016-10-02
- 有一种方法,可以不打开网站而直接查看到这个网站的源代码.. 这样可以有效地防止误入恶意网站... 在浏览器地址栏输入: view-source:http://...2016-09-20
- <?php require('path.inc.php'); header('content-Type: text/html; charset=utf-8'); $borough_id = intval($_GET['id']); if(!$borough_id){ echo ' ...2016-11-25
- 本文实例讲述了JS基于Mootools实现的个性菜单效果代码。分享给大家供大家参考,具体如下:这里演示基于Mootools做的带动画的垂直型菜单,是一个初学者写的,用来学习Mootools的使用有帮助,下载时请注意要将外部引用的mootools...2015-10-23
- 本文实例讲述了JS+CSS实现分类动态选择及移动功能效果代码。分享给大家供大家参考,具体如下:这是一个类似选项卡功能的选择插件,与普通的TAb区别是加入了动画效果,多用于商品类网站,用作商品分类功能,不过其它网站也可以用,...2015-10-21
- 本文实例讲述了JS实现自定义简单网页软键盘效果。分享给大家供大家参考,具体如下:这是一款自定义的简单点的网页软键盘,没有使用任何控件,仅是为了练习JavaScript编写水平,安全性方面没有过多考虑,有顾虑的可以不用,目的是学...2015-11-08
- 下面小编就为大家带来一篇利用JS实现点击按钮后图片自动切换的简单方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2016-10-25
- php 取除连续空格与换行代码,这些我们都用到str_replace与正则函数 第一种: $content=str_replace("n","",$content); echo $content; 第二种: $content=preg_replac...2016-11-25
- php简单用户登陆程序代码 这些教程很对初学者来讲是很有用的哦,这款就下面这一点点代码了哦。 <center> <p> </p> <p> </p> <form name="form1...2016-11-25
Android开发中findViewById()函数用法与简化
findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20- 公司一些wordpress网站由于下载的插件存在恶意代码,导致整个服务器所有网站PHP文件都存在恶意代码,就写了个简单的脚本清除。恶意代码示例...2015-10-23
- 如果我们的项目需要做来电及短信的功能,那么我们就得在Android模拟器开发这些功能,本来就来告诉我们如何在Android模拟器上模拟来电及来短信的功能。 在Android模拟...2016-09-20
- 夜神android模拟器如何设置代理呢?对于这个问题其实操作起来是非常的简单,下面小编来为各位详细介绍夜神android模拟器设置代理的方法,希望例子能够帮助到各位。 app...2016-09-20
- 为了增强android应用的用户体验,我们可以在一些Button按钮上自定义动态的设置一些样式,比如交互时改变字体、颜色、背景图等。 今天来看一个通过重写Button来动态实...2016-09-20
- 其实挺简单的就是if(navigator.userAgent.indexOf('UCBrowser') > -1) {alert("uc浏览器");}else{//不是uc浏览器执行的操作}如果想测试某个浏览器的特征可以通过如下方法获取JS获取浏览器信息 浏览器代码名称:navigator...2015-11-08
- 本文实例讲述了JS实现双击屏幕滚动效果代码。分享给大家供大家参考,具体如下:这里演示双击滚屏效果代码的实现方法,不知道有觉得有用处的没,现在网上还有很多还在用这个特效的呢,代码分享给大家吧。运行效果截图如下:在线演...2015-10-30
- 如果我们要在Android应用APP中加载html5页面,我们可以使用WebView,本文我们分享两个WebView加载html5页面实例应用。 实例一:WebView加载html5实现炫酷引导页面大多...2016-09-20
- 一、日期减去天数等于第二个日期function cc(dd,dadd){//可以加上错误处理var a = new Date(dd)a = a.valueOf()a = a - dadd * 24 * 60 * 60 * 1000a = new Date(a)alert(a.getFullYear() + "年" + (a.getMonth() +...2015-11-08
- 深入理解Android中View和ViewGroup从组成架构上看,似乎ViewGroup在View之上,View需要继承ViewGroup,但实际上不是这样的。View是基类,ViewGroup是它的子类。本教程我们深...2016-09-20
- 微信支付,即便交了保证金,你还是处理测试阶段,不能正式发布。必须到你通过程序测试提交订单、发货通知等数据到微信的系统中,才能申请发布。然后,因为在微信中是通过JS方式调用API,必须在微信后台设置支付授权目录,而且要到...2014-05-31