Android中TextView文字居中与垂直靠左居中
有2种方法可以设置TextView文字居中:
一:在xml文件设置:android:gravity="center"
二:在程序中设置:m_TxtTitle.setGravity(Gravity.CENTER);
备注:android:gravity和android:layout_gravity的区别在于前者对控件内部操作,后者是对整个控件操作。
例如:
代码如下 | 复制代码 |
android:gravity="center"是对textView中文字居中 android:layout_gravity="center"是对textview控件在整个布局中居中 |
其实很容易理解,出现"layout"就是控件对整个布局的操作
TextView文字垂直靠左居中,
设置android:gravity="center_vertical|left"。
android:gravity="center", 垂直水平居中
LinearLayout有两个非常相似的属性:android:gravity与android:layout_gravity。他们的区别在于:android:gravity用于设置View组件的对齐方式,而android:layout_gravity用于设置Container组件的对齐方式。
举个例子,我们可以通过设置android:gravity="center"来让EditText中的文字在EditText组件中居中显示;同时我们设置EditText的android:layout_gravity="right"来让EditText组件在LinearLayout中居中显示。
代码如下 | 复制代码 |
<TextView |
android提供了两种方式来实现无标题栏和全屏效果,即通过xml文件声明的方式或在程序中动态控制的方式。
android设置全屏方法
一、通过程序设置:
代码如下 | 复制代码 |
package com.hhh.changeimage; |
注:无title和全屏段代码必须在setContentView(R.layout.main) 之前,不然会报错。
二、在配置文件里修改(AndroidManifest.xml)
代码如下 | 复制代码 |
<activity android:name=".ChangeImage" |
下面我们结合上面的实例作一个Android全屏设置及取消全屏设置
•1、//在onCreat方法中setContentView()之前插入
代码如下 | 复制代码 |
•requestWindowFeature(Window.FEATURE_NO_TITLE);//取消标题栏 •getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN , • WindowManager.LayoutParams. FLAG_FULLSCREEN);//全屏 |
•注:这种方法在启动activity时会闪现状态栏之后再全屏
•2、在manifest里面配置:<activity android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />只在当前Activity内显示全屏
•<application android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />为整个应用配置全屏显示
•3、/**
• * 全屏切换
• */
代码如下 | 复制代码 |
•public void fullScreenChange() { •SharedPreferences mPreferences = PreferenceManager.getDefaultSharedPreferences(this); •boolean fullScreen = mPreferences.getBoolean("fullScreen", false); •WindowManager.LayoutParams attrs = getWindow().getAttributes(); •System.out.println("fullScreen的值:" + fullScreen); •if (fullScreen) { •attrs.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN); •getWindow().setAttributes(attrs); •//取消全屏设置 •getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); •mPreferences.edit().putBoolean("fullScreen", false).commit() ; •} else { •attrs.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN; •getWindow().setAttributes(attrs); •getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); •mPreferences.edit().putBoolean("fullScreen", true).commit(); •} •} |
在网上找了好久,有点 监听软键盘事件,有点 调用 clearFouse()方法,但是测试了都没有! xml中也找不到相应的属性可以关闭这个默认行为
解决之道:在EditText的父级控件中找一个,设置成
代码如下 | 复制代码 |
android:focusable="true" |
这样,就把EditText默认的行为截断了!
代码如下 | 复制代码 |
<LinearLayout |
查阅了很多资料后,发现以下方法最简单:
在xml中,在EditText控件之前
加入
代码如下 | 复制代码 |
<LinearLayout |
这是一个虚假的LinearLayout,不会显示的,但是会抢走焦点
现在几乎所有app应用都可以调用手机的照相功能了,但我在开始时碰到一个问题就是拍照之后在系统相册中找不到我拍照的照片怎么办?下面我来给各位同学一并分享一下。系统已经有的东西,如果我们没有新的需求的话,直接调用是最直接的。下面讲讲调用系统相机拍照并保存图片和如何调用系统相册的方法。
首先看看调用系统相机的核心方法:
代码如下 | 复制代码 |
Intent camera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(camera, CAMERA); |
相机返回的数据通过下面的回调方法取得,并处理:
代码如下 | 复制代码 |
@Override }
|
下面是调用系统相册并取得照片的方法:
代码如下 | 复制代码 |
Intent picture = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); startActivityForResult(picture, PICTURE); |
下面是相应的回调方法:
代码如下 | 复制代码 |
@Override Uri selectedImage = data.getData(); |
这样就完成了系统调用,很简单,但是有些朋友会碰到照片拍好了,在手机相册中发现照片不显示呀。
解决Android拍照保存在系统相册不显示的问题
MediaStore.Images.Media.insertImage(getContentResolver(), mBitmap, "", "");通过上面的那句代码就能插入到系统图库,这时候有一个问题,就是我们不能指定插入照片的名字,而是系统给了我们一个当前时间的毫秒数为名字,有一个问题郁闷了很久,我还是先把insertImage的源码贴出来吧
代码如下 | 复制代码 |
/** Uri url = null; try { if (source != null) { long id = ContentUris.parseId(url); if (url != null) { return stringUrl; |
上面方法里面有一个title,我刚以为是可以设置图片的名字,设置一下,原来不是,郁闷,哪位高手知道title这个字段是干嘛的,告诉下小弟,不胜感激!
当然Android还提供了一个插入系统相册的方法,可以指定保存图片的名字,我把源码贴出来吧
代码如下 | 复制代码 |
/** |
啊啊,贴完源码我才发现,这个方法调用了第一个方法,这个name就是上面方法的title,晕死,这下更加郁闷了,反正我设置title无效果,求高手为小弟解答,先不管了,我们继续往下说
上面那段代码插入到系统相册之后还需要发条广播
代码如下 | 复制代码 |
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+ Environment.getExternalStorageDirectory()))); |
上面那条广播是扫描整个sd卡的广播,如果你sd卡里面东西很多会扫描很久,在扫描当中我们是不能访问sd卡,所以这样子用户体现很不好,用过微信的朋友都知道,微信保存图片到系统相册并没有扫描整个SD卡,所以我们用到下面的方法
代码如下 | 复制代码 |
Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); |
或者用MediaScannerConnection
代码如下 | 复制代码 |
final MediaScannerConnection msc = new MediaScannerConnection(mContext, new MediaScannerConnectionClient() { |
也行你会问我,怎么获取到我们刚刚插入的图片的路径?呵呵,这个自有方法获取,insertImage(ContentResolver cr, Bitmap source,String title, String description),这个方法给我们返回的就是插入图片的Uri,我们根据这个Uri就能获取到图片的绝对路径
代码如下 | 复制代码 |
private String getFilePathByContentResolver(Context context, Uri uri) { |
根据上面的那个方法获取到的就是图片的绝对路径
本文章来给各位同学介绍一个微信开发实现一键拨号出现屏蔽问题的解决方案,如果你碰到此问题不防进入参考一下。在微信中出现无法拨号的情况,原先操作的时候,的确是OK的,现在微信版本升级了,我试了一下,果然拨号不行了,在首页的web页面中是没有问题的,但是在微信中就是拨打不了,找了很多,后来发现是微信做了屏蔽,解决方法如下:
1、拨号的代码还是不变,和原先的一样,
2、打开拨号页面要做下处理,在网址后面增加一个锚节点mp.weixin.qq.com。
实例如下:
如:<a href="tel:13764567708">移动WEB页面JS一键拨打号码咨询功能</a> 上需要拨号代码,操作如下
在有这个代码的页面URl后边加上“#mp.weixin.qq.com” 如:http://www.111cn.net /#mp.weixin.qq.com
这样,微信里面的一键拨号功能就OK了
相关文章
- 下面我们来看一篇关于Android子控件超出父控件的范围显示出来方法,希望这篇文章能够帮助到各位朋友,有碰到此问题的朋友可以进来看看哦。 <RelativeLayout xmlns:an...2016-10-02
iOS设置UIButton文字显示位置和字体大小、颜色的方法
这篇文章给大家分享了iOS如何设置UIButton的文字显示位置和字体的大小、颜色,文中给出了示例代码,相信对大家的学习和理解很有帮助,有需要的朋友们下面来一起看看吧。...2020-06-30Android开发中findViewById()函数用法与简化
findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20- 如果我们的项目需要做来电及短信的功能,那么我们就得在Android模拟器开发这些功能,本来就来告诉我们如何在Android模拟器上模拟来电及来短信的功能。 在Android模拟...2016-09-20
- 夜神android模拟器如何设置代理呢?对于这个问题其实操作起来是非常的简单,下面小编来为各位详细介绍夜神android模拟器设置代理的方法,希望例子能够帮助到各位。 app...2016-09-20
- 为了增强android应用的用户体验,我们可以在一些Button按钮上自定义动态的设置一些样式,比如交互时改变字体、颜色、背景图等。 今天来看一个通过重写Button来动态实...2016-09-20
- 如果我们要在Android应用APP中加载html5页面,我们可以使用WebView,本文我们分享两个WebView加载html5页面实例应用。 实例一:WebView加载html5实现炫酷引导页面大多...2016-09-20
- 这篇文章主要介绍了基于JavaScript实现文字超出部分隐藏 的相关资料,需要的朋友可以参考下...2016-03-01
- 深入理解Android中View和ViewGroup从组成架构上看,似乎ViewGroup在View之上,View需要继承ViewGroup,但实际上不是这样的。View是基类,ViewGroup是它的子类。本教程我们深...2016-09-20
- 下面我们来看一篇关于Android自定义WebView网络视频播放控件开发例子,这个文章写得非常的不错下面给各位共享一下吧。 因为业务需要,以下代码均以Youtube网站在线视...2016-10-02
- java开发的Android应用,性能一直是一个大问题,,或许是Java语言本身比较消耗内存。本文我们来谈谈Android 性能优化之MemoryFile文件读写。 Android匿名共享内存对外A...2016-09-20
- TextView默认是横着显示了,今天我们一起来看看Android设置TextView竖着显示如何来实现吧,今天我们就一起来看看操作细节,具体的如下所示。 在开发Android程序的时候,...2016-10-02
android.os.BinderProxy cannot be cast to com解决办法
本文章来给大家介绍关于android.os.BinderProxy cannot be cast to com解决办法,希望此文章对各位有帮助呀。 Android在绑定服务的时候出现java.lang.ClassCastExc...2016-09-20- 这篇文章主要介绍了Android 实现钉钉自动打卡功能的步骤,帮助大家更好的理解和学习使用Android,感兴趣的朋友可以了解下...2021-03-15
- 下面我们来看一篇关于Android 开发之布局细节对比:RTL模式 ,希望这篇文章对各位同学会带来帮助,具体的细节如下介绍。 前言 讲真,好久没写博客了,2016都过了一半了,赶紧...2016-10-02
- 这篇文章主要介绍了C#文字换行的实现方法,通过自定义函数实现针对特定字符串的换行长度处理,是比较实用的技巧,对于C#的深入学习具有一定的借鉴价值,需要的朋友可以参考下...2020-06-25
- 首先如果要在程序中使用sdcard进行存储,我们必须要在AndroidManifset.xml文件进行下面的权限设置: 在AndroidManifest.xml中加入访问SDCard的权限如下: <!--...2016-09-20
- 下面来给各位简单的介绍一下关于Android开发之PhoneGap打包及错误解决办法,希望碰到此类问题的同学可进入参考一下哦。 在我安装、配置好PhoneGap项目的所有依赖...2016-09-20
用Intel HAXM给Android模拟器Emulator加速
Android 模拟器 Emulator 速度真心不给力,, 现在我们来介绍使用 Intel HAXM 技术为 Android 模拟器加速,使模拟器运行度与真机比肩。 周末试玩了一下在Eclipse中使...2016-09-20- 在安卓开发时我碰到一个问题就是需要实现全屏,但又需要我们来判断出用户是使用了全屏或非全屏了,下面我分别找了两段代码,大家可参考。 先来看一个android屏幕全屏实...2016-09-20