41.TextView跑马灯效果

TextView中可以设置一个ellipsize属性,作用是当文字长度超过textview宽度时的显示方式:

例如,"encyclopedia"显示, 只是举例,以实际显示为准:)

android:ellipsize=”start”—–省略号显示在开头 "...pedia"
android:ellipsize=”end”——省略号显示在结尾  "encyc..."
android:ellipsize=”middle”—-省略号显示在中间 "en...dia"
android:ellipsize=”marquee”–以横向滚动方式显示(需获得当前焦点时)

对于使用marquee即滚动显示方式的,需要当前textview获得焦点才会滚动。所以有时可能因为实际需要,textview未获得焦点或者需要多个textview都同时滚动显示时,可以采用以下办法:

因为判断textview是否处于focused状态是通过它本身isFocused()方法,这样只要此方法返回为true时,即认为处于focused的状态,就可以滚动啦。

所以可以通过继承TextView类,并override isFocused()方法来控制是否滚动咯

42.设置RadioGroup选中与没有选中时的颜色(背景色)或者是图片

首先新建一个res/下新建一个color的目录,新建一个radiogroup_selecked_bg.xm文件

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:state_checked="true" android:color="@color/conversion_item_bg_checked"/><item android:state_checked="false" android:color="@color/conversion_item_bg_unchecked"/></selector>

注意后面的@color必须在res/values/color.xml中定义好,不能直接写

ndroid:color = "#ffffff"这样写是不会有效果的
然后再RadioGroup中加入属性:android:background = "@color/radiogroup_selecked_bg(就是一开始建立的文件的名字)"
设置背景图片类似



43.ListView的分割线
android:divider="@color/conversion_item_divider"
android:dividerHeight="1dp"
//注意这两个要一起用,如果没有第二个,默认是0dp,即没有效果

android:cacheColorHint="#00000000"  //设置拖动背景色为透明

android:dividerHeight="30px"         //listview item之间的高度

android:divider="@drawable/ic_launcher"    //listview item之间的背景或者说是颜色
android:fadingEdge="vertical"         //上边和下边有黑色的阴影      值为none的话就没有阴影
android:scrollbars="horizontal|none"   //只有值为horizontal|vertical的时候,才会显示滚动条,并且会自动影藏和显示
android:fastScrollEnabled="true"        //快速滚动效果,配置这个属性,在快速滚动的时候旁边会出现一个小方块的快速滚动效果,自动隐藏和显示,
android:scrollbarStyle="outsideInset"  //四个值的含义如下
1>outsideInset :  该ScrollBar显示在视图(view)的边缘,增加了view的padding. 如果可能的话,该ScrollBar仅仅覆盖这个view的背景.
2>outsideOverlay :  该ScrollBar显示在视图(view)的边缘,不增加view的padding,该ScrollBar将被半透明覆盖
3>insideInset :该ScrollBar显示在padding区域里面,增加了控件的padding区域,该ScrollBar不会和视图的内容重叠.
4>insideOverlay : 该ScrollBar显示在内容区域里面,不会增加了控件的padding区域,该ScrollBar以半透明的样式覆盖在视图(view)的内容上.

44.android 锁定横屏

xml文件中设置:
  要实现这个目的,只需要在AndroidManifest.xml里声明Activity的时候加上一个属性:android:screenOrientation,属性取值landscape为固定横屏、portrait为固定纵屏幕。
  代码:
  setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE););//强制为横屏
  setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//竖屏
  ============延伸========
  屏幕会自动切换时,默认状态的应用程序,会重新调用onCreate,相当于重新启动了一次应用程序。同时,layout可能因为横屏带来不能合理适配的问题。为了解决旋屏和键盘切换引起的程序重启问题,还需要增加一个属性:android:configChanges。这个属性可以理解为一个监听器,它将拦截旋屏和键盘切换事件,阻止程序重启而变为回调onConfigurationChanged方法。这里常用的属性取值为:keyboardHidden|orientation。

45.设置标志位1和-1,true和false

无需通过判断

if(flag){
flag = false;}
else{
flag = true;}//只需要这样
flag = flag != true;//同样,1和-1可以通过这样
i =  i*-1;

46.设置button主动被点击

怎么触发onclicklistener呢?可以用这个方法:

button.perfromClick();

47.Intent跳转到另外一个应用的Activity

intent.setComponent(new ComponentName("要跳转的应用的包名","要跳转的应用的包名加类名"));

eg:

intent.setComponent(new ComponentName("com.siyehua.test.otherapp","com.siyehua.test.otherapp.SpaceActivity"));

同时:必须在目标的应用里设置Activity的Actioon和catoery

<activityandroid:name="<span style="font-family: Arial, Helvetica, sans-serif;">com.siyehua.test.otherapp.SpaceActivity</span><span style="font-family: Arial, Helvetica, sans-serif;">"</span>><intent-filter><action android:name="com.siyehuazhilian.abc" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity>

48.检测手机里时候包含该应用

/*** 检测手机时候包含应用*/private boolean getInstallFlag(String appPackageName) {List<PackageInfo> list = getPackageManager().getInstalledPackages(PackageManager.GET_PERMISSIONS);for (PackageInfo packageInfo : list) {if (packageInfo.packageName.equals(appPackageName)) {return true;}}Toast.makeText(this, "检测到您的手机不存在闪购客户端,现在为您跳转到应用商店下载", 1000).show();Uri uri = Uri.parse("market://search?q=" + "闪购");Intent it = new Intent(Intent.ACTION_VIEW, uri);startActivity(it);return false;}

49.在java代码中设置控件的大小和位置

GridView mGrid= (GridView) findViewById(R.id.gridview);
LinearLayout.LayoutParams linearParams = (LinearLayout.LayoutParams) mGrid.getLayoutParams(); // 取控件mGrid当前的布局参数
linearParams.height = 75;// 当控件的高强制设成75象素
mGrid.setLayoutParams(linearParams); // 使设置好的布局参数应用到控件mGrid2

比如
TextView mTextView = new TextView(context);
mTextView.setPadding(left, top, right, bottom);// 通过自定义坐标来放置你的控件
或者
TextView mTextView = new TextView(context);
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams)xxxx.getLayoutParams();
params.setMargins(left, top, right, bottom));// 通过自定义坐标来放置你的控件
mTextView .setLayoutParams(params);
注意LayoutParams可能是LinearLayout,也可能是RelativeLayout,要看当前控件的父控件是哪个

50.

Android中字体加粗
一、在xml文件中使用android:textStyle=”bold”
二、但是不能将中文设置成粗体,将中文设置成粗体的方法是:

TextView tv = (TextView)findViewById(R.id.TextView01); 
TextPaint tp = tv.getPaint(); 
tp.setFakeBoldText(true);


51,刷新某个文件的uri

public static void scanPhotos(String filePath, Context context) {Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);Uri uri = Uri.fromFile(new File(filePath));intent.setData(uri);context.sendBroadcast(intent);}

52.设置对话框的位置Dialog

requestWindowFeature(Window.FEATURE_NO_TITLE);DisplayMetrics display = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(display);int width = display.widthPixels;int height = display.heightPixels;Window dialogWindow = this.getWindow();WindowManager.LayoutParams lp = dialogWindow.getAttributes();dialogWindow.setGravity(Gravity.CENTER);lp.width = width; // 宽度lp.height = (int) (height * 0.6); // 高度lp.x = 0; // 新位置X坐标lp.y = lp.height; // 新位置Y坐标dialogWindow.setAttributes(lp);

53.EditeText模仿输入法删除EditeText的文本

 //动作按下int action = KeyEvent.ACTION_DOWN;//code:删除,其他code也可以,例如 code = 0int code = KeyEvent.KEYCODE_DEL;KeyEvent event = new KeyEvent(action, code);searchEditText.onKeyDown(KeyEvent.KEYCODE_DEL, event); //抛给系统处理了

54.通过uri得到文件路径(文件属性)

// 保存选择的铃声UriUri pickedUri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);String[] proj = { MediaStore.Audio.Media.DATA };Cursor actualimagecursor = managedQuery(pickedUri, proj, null, null,null);int actual_image_column_index = actualimagecursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA);actualimagecursor.moveToFirst();String img_path = actualimagecursor.getString(actual_image_column_index);File file = new File(img_path);

57.打开系统铃声

// 打开系统铃声设置Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);// 设置铃声类型和titleintent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE,RingtoneManager.TYPE_ALARM);intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "设置闹铃铃声");// 当设置完成之后返回到当前的ActivitystartActivityForResult(intent, 10086);

58. 让ListView滚动到最底部

// msgListView是ListView控件
// adapter是ListView绑定的Adapter,如果不方便直接使用,也可以通过ListView的getAdapter()方法获取到,前提是你已经绑定了适配器哦
// 里面的参数就很熟悉了吧,其实这个方法的主要作用是选中listview的指定列,选中了,自然就得让这个item可见,自然就滚动咯
msgListView.setSelection(adapter.getCount()-1);
//还要必须设置selection为true
msgListView.selection(true);
还可以在ListView标签中加入如下两个属性,动态添加元素后,列表会自动滚动到底部:
android:stackFromBottom="true"
android:transcriptMode="alwaysScroll"

59,限制EditText只能输入数字

小数请使用android:numeric="decimal" 属性
然后gettext后进行类型转换
其实还有很多办法解决。
可以添加TextChangedListener 监听器 进行字符判断。
android:digits 属性 输入规则
例如:android:digits=“0123456789” 表示只能输入数字。
android:digits=“0123456789.” 表示可以输入数字和小数点

60.EditText 的inputType详解

在开发的过程中,通常会用到EditText,如何让虚拟键盘来适应输入框中内容的类型,通常我们都会在xml文件中加入android:inputType=""。android:inputType="none"android:inputType="text"android:inputType="textCapCharacters"//前3个输入普通字符android:inputType="textCapWords"//单词首字母大小android:inputType="textCapSentences"//仅第一个字母大小android:inputType="textAutoCorrect"android:inputType="textAutoComplete"//前两个自动完成android:inputType="textMultiLine"//多行输入android:inputType="textImeMultiLine"//输入法多行(不一定支持)android:inputType="textNoSuggestions"//不提示android:inputType="textUri"//URI格式android:inputType="textEmailAddress"//电子邮件地址格式android:inputType="textEmailSubject"//邮件主题格式android:inputType="textShortMessage"//短消息格式android:inputType="textLongMessage"android:inputType="textPersonName"//人名格式android:inputType="textPostalAddress"//邮政格式android:inputType="textPassword"//密码格式android:inputType="textVisiblePassword"//密码可见格式android:inputType="textWebEditText"//作为网页表单的文本格式android:inputType="textFilter"//文本筛选格式android:inputType="textPhonetic"//拼音输入格式android:inputType="number"//数字格式android:inputType="numberSigned"//有符号数字格式android:inputType="numberDecimal"//可以带小数点的浮点格式android:inputType="phone"//拨号键盘android:inputType="datetime"android:inputType="date"//日期键盘android:inputType="time"//时间键盘

android 学习笔记③相关推荐

  1. Android学习笔记21:ImageView获取网络图片

    Android平台有3种网络接口可以使用,它们分别是:java.net.*(标准java接口).org.apache(Apache接口)和android.net.*(Android网络接口).本文将使 ...

  2. Android学习笔记(七):多个Activity和Intent

    根据www.mars-droid.com:Andriod开发视频教学,先跳过书本<Beginning Android 2>的几个章,我是这两个资源一起看,需要进行一下同步.先初步了解一下应 ...

  3. Android学习笔记26:图片切换控件ImageSwitcher的使用

    在Windows操作系统中,要查看多张图片,可以通过使用"Windows照片查看器"在"上一张"和"下一张"之间切换,进行多张图片的浏览. ...

  4. Android学习笔记36:使用SQLite方式存储数据

    在Android中一共提供了5种数据存储方式,分别为: (1)Files:通过FileInputStream和FileOutputStream对文件进行操作.具体使用方法可以参阅博文<Andro ...

  5. Pro Android学习笔记(二九):用户界面和控制(17):include和merge

    xml控件代码重用:include 如果我们定义一个控件,需要在不同的layout中重复使用,或者在同一个layout中重复使用,可以采用include的方式.例如定义my_button.xml如下 ...

  6. Android学习笔记:TabHost 和 FragmentTabHost

    2019独角兽企业重金招聘Python工程师标准>>> Android学习笔记:TabHost 和 FragmentTabHostTabHost命名空间:android.widget ...

  7. 【转】 Pro Android学习笔记(二九):用户界面和控制(17):include和merge

    目录(?)[-] xml控件代码重用include xml控件代码重用merge 横屏和竖屏landsacpe portrait xml控件代码重用:include 如果我们定义一个控件,需要在不同的 ...

  8. Android学习笔记:TabHost 和 FragmentTabHost(转)

    Android学习笔记:TabHost 和 FragmentTabHost(转) 转自:http://www.cnblogs.com/asion/p/3339313.html 作者:Asion Tan ...

  9. Pro Android学习笔记(三三):Menu(4):Alternative菜单

    什么是Alternative menu(替代菜单) 举个例子,Activity显示一个文本文件.如果用户想对文本文件进行编辑,Activity不提供编辑能力,但可由其他activity或者其他应用提供 ...

  10. Android学习笔记之(一)开发环境搭建

    Android学习笔记之(一)开发环境搭建 zouxy09@qq.com http://blog.csdn.net/zouxy09 至于说Android是什么之类的俺就不啰嗦了,因为它离我们太近了.直 ...

最新文章

  1. 从Java 8中的java.util.stream.Stream检索列表
  2. free命令输出详解
  3. Spring原理简述
  4. Java:main()函数调用类中方法的限制
  5. python牛客网编程题_【面经】小米软件开发一面(python)面经 2020 2020
  6. VS2010下的多线程窗口
  7. python整数转换字符串_使用Python中的str()函数将整数值转换为字符串
  8. jdbc工具类 配置版本 20210412_222527.mp4
  9. 电脑一族,打电脑时候的健康的坐姿
  10. python基础作业_017--python基础作业
  11. jsonp 获取图片文件流_【国际IT专场】Laravel Media Library多媒体文件的上传与管理...
  12. eos utility中文版v3.7.0
  13. 最近发现一款超牛的记单词软件,分享一下
  14. 关于舵轮AGV 的数学模型
  15. python爬取“堆糖网”小姐姐 图片
  16. Flask学习(二)-Jinji2模板引擎
  17. 数模--0-1规划问题~Matlab中 intlinprog函数用法简介
  18. 个嵌入式牛人学习经历
  19. Excel中同一单元格设置不同颜色的字体
  20. word格式角落的直角问题又名裁剪标记

热门文章

  1. 查找和排序-——旋转数组的最小数字
  2. (完结项目)fpga采集双路CCD摄像头1000帧图像上传到上位机显示
  3. viewpager禁止左右滑动
  4. 动态时间规整算法: 从DTW到FastDTW
  5. 前端开发问题——css设置背景样式效果无法显现
  6. 【JZOJ4597】现世斩
  7. 【CodeForces】【BFS】【状压】718E Matvey's Birthday
  8. Pinia基本使用与源码分析-手动实现部分主要功能
  9. 两轮车新规实施,电池安全再上“紧箍咒”
  10. 每日任务:1276. 不浪费原料的汉堡制作方案