杂乱整理"/>
Android开发——Android杂乱整理
一.Seekbar类
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
void | setOnSeekBarChangeListener( SeekBar.OnSeekBarChangeListener l) 设置该组件进度改变时的监听事件 | ||||||||||
synchronized int | getMax() 从ProgressBar继承的方法,获取进度的最大值 | ||||||||||
synchronized int | getProgress() 从ProgressBar继承的方法,获取当前的进度值 | ||||||||||
synchronized void | setMax(int max) 从ProgressBar继承的方法,设置最大值 | ||||||||||
synchronized void | setProgress(int progress) 从ProgressBar继承的方法,设置当前进度 |
二.MotionEvent终类
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
int | ACTION_UP | 鼠标的抬起事件 | |||||||||
int | ACTION_DOWN | 鼠标的按下事件 | |||||||||
int | ACTION_MOVE | 鼠标的移动事件 |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
final int | getAction() 获取当前触发的事件值,可以成员字段值进行判断 | ||||||||||
final float | getX() 获取x坐标值,onTouchEvent谁响应的就是以谁为基准 | ||||||||||
final float | getY() 获取y坐标值,onTouchEvent谁响应的就是以谁为基准 | ||||||||||
final float | getRawX() 获取原生的x坐标值,以整个屏幕为基准 | ||||||||||
final float | getRawY() 获取原生的y坐标值,以整个屏幕为基准 |
三.AutoCompleteTextView类
说明:这是一个自动提示相关文件的TextView,当你输入某些单词的开头字母时自动提示你相应单词
<AutoCompleteTextViewandroid:id="@+id/actv"android:layout_width="match_parent"android:layout_height="wrap_content"android:completionThreshold="1"/>
AutoCompleteTextView actv = (AutoCompleteTextView) findViewById(R.id.actv);String[] stringArray = {"狠","恨他","很是问题","我","我们","a123fasdfa","abcfasd"};ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line,stringArray);actv.setAdapter(adapter);
四.TextView布局特殊属性
<TextView android:shadowColor="#F00"----------阴影颜色 android:shadowDx="2"--------- x轴偏移量 android:shadowDy="2"--------- y轴偏移量 android:shadowRadius="1"----------阴影半径(扩散,羽化半径) android:ellipsize="marquee"----------start:点在最开始;middle:点在正中央;end:点在最后边;marquee:走马灯效果,不过需要获取焦点效果才能实现 android:singleLine="true"---------始终显示一行 android:focusable="true"---------获取焦点 android:focusableInTouchMode="true"------------触摸时获取焦点 android:drawableLeft="@android:drawable/star_big_on"-------在本文左端添加一个星星的图案,可以选择文字上下所有添加图片android:drawablePadding="10dp"----------图片与文字之间的间距android:clickable="true"---------让不可点击的控件具备点击效果,与onClick()搭配使用,如果代码中直接setOnClickListener()不用加这个属性也能点击android:inputType="textPassword"----------输入数据的类型,phone:电话;textPassword:密码android:textAllCaps="true"——————————设置字母全部大写
/>
五.GridView
<GridViewandroid:verticalSpacing="10dp"---------GridView行间距android:numColumns="3"---------GridView列数
/>
六.CheckBox
注:这样设置可以让控件不会处理任何事件
<CheckBoxandroid:clickable="false"--------不可点击android:focusable="false"--------不可获取焦点android:focusableInTouchMode="false" ----------触摸也不可获取焦点
/>
七.ListView
问题:当ListView的Item中有Button、ImageButton、Checkbox等就会抢占我们的焦点,导致Item被点击没反应
解决:对ListView所在根布局layout设置一个属性【android:descendantFocusability="blocksDescendants"】意思根布局后裔中的控件只作用于它所处的块状区域内,不影响整个ListView的条目
<ListView android:divider="@drawable/ic_launcher" ---------设置条目分割线引用,值可以设置为【@null】android:dividerHeight="2dp"-----------设置条目分割线高度android:background="@drawable/down_arrow"-----------设置条目背景图片,不过需要与下边cacheColorHint属性连用android:cacheColorHint="@android:color/transparent"------------在设置背景图片后,需要设置这个属性值为透明色,ListView滑动的黑色背景可以靠此属性去掉android:listSelector="@drawable/transparent"------------此属性可设置点中条目的颜色,不同手机选中ListView条目不做处理的话效果是不同的android:scrollbars="none"-------------设置没有滚动条>
</ListView>
八.RadioButton
<RadioButtonandroid:button="@null"------------去掉按钮的点击效果,立体效果android:drawableTop="@drawable/bottom_govaffairs_tab_bg"--------------可以设置图片所在的位置
/>
九.ImageView
<ImageViewandroid:scaleType="..."-----------fitXY拉伸前景和背景一样大、centerInside居中显示,会显示出背景、centerCop中间按照背景比例截取一块android:src="..."----------这是指前景android:background="..."------------这是指背景
/>
十.手势识别器
1.GestureDetector类
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
GestureDetector( Context context, GestureDetector.OnGestureListener listener) 参数1:上下文;参数2:手势监听器 |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
boolean | onTouchEvent( MotionEvent ev) 想让手势识别器被启用,需要把控件的MontionEvent事件传入这个方法,委托手势识别器处理手势事件 |
2.GestureDetector.SimpleOnGestureListener类
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
boolean | onFling( MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) 参数1:起始点的事件;参数2:结束点的事件;参数3:x方向的速度;参数4:y方向的速度 |
十一.Vibrator抽象类
注:实例化该对象通过系统服务--getSystemService(VIBRATOR_SERVICE)
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
abstract void | vibrate(long[] pattern, int repeat) 震动,参数1:数组中奇数位数字表示等待的时长,偶数为数字表示震动的时长;参数2:是否重复,-1表示不重复,0表示重复并且从数组0的位置。1表示数组1的位置,并且数组长度变成了从1开始,所以1这是编程的奇数位 | ||||||||||
abstract void | vibrate(long milliseconds) 震动多长时间,参数1:震动的时长 |
十二.PopupWindow类
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
PopupWindow( View contentView, int width, int height, boolean focusable) 初始化弹窗,参数1:填充控件的布局view;参数2:弹窗宽度;参数3:弹窗高度;参数4:是否获取焦点。如果填充的布局没有背景,并且弹窗获取了焦点,那么会造成所有事件会被弹窗处理掉,点返回键和点击界面没有任何反应。所以需要为填充的布局添加一个背景,必须添加,有时可以添加new ColorDrawable(); |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
void | showAsDropDown( View anchor, int xoff, int yoff) 显示在指定控件的正下方。参数1:相对的控件;参数2和3:现在弹窗在指定控件正下发时为(0,0)点,这两个参数表示相对这个(0,0)点移动的偏移量 | ||||||||||
void | showAtLocation( View parent, int gravity, int x, int y) 显示的位置。参数1:相对的父控件;参数2:相对父控件的重心位置;参数3和4:相对于重心的距离 | ||||||||||
void | setBackgroundDrawable( Drawable background) 设置背景,并且必须设置背景,否则弹窗将会抢去全部事件 | ||||||||||
void | dismiss() 让弹窗消失的方法 | ||||||||||
void | setOutsideTouchable(boolean touchable) 当点击PopupWindow以外区域时,弹框自动消失 |
十三.建立桌面快捷方式
(1)Android建立一个快捷方式主要是看Launcher2这个桌面的应用,你去查看这个应用源码的清单文件就会发现以下广播接收者
<receiverandroid:name="com.android.launcher2.InstallShortcutReceiver"android:permission="com.android.launcher.permission.INSTALL_SHORTCUT"><intent-filter><action android:name="com.android.launcher.action.INSTALL_SHORTCUT" /></intent-filter>
</receiver>
(2)所以我们要建立一个快捷方式要通过发送一个广播来实现。
明确:我们是通过发送一个广播来让桌面添加一个快捷方式,所以快捷方式是属于Launcher2这个应用的,不属于我们自己的应用
(3)通过以下代码发送一个广播
Intent intent = new Intent();
//安装快捷方式广播事件
intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
//设置快捷方式的图标
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, BitmapFactory.decodeResource(getResources(), R.drawable.drag));
//设置快捷方式的名字
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "我的快捷方式图标");
//设置快捷方式启动的Intent
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, actionIntent);
sendBroadcast(intent);
//创建快捷方式需要权限的支持
十四.TrafficStats类
知识点:
(1)【proc】==>【uid-stat】,有一堆用用户id命名的文件夹,手机安装apk后,系统自动分配给app一个uid,这就是用户id。【proc】==>【uid-stat】,有一堆用用户id命名的文件夹,手机安装apk后,系统自动分配给app一个uid,这就是用户id
(2)因为每次重启手机这个数据都会被清零,所以我们要对上次的数据进行存储,并且对所有存储的数据进行的累加
问题:如何实现流量拦截?
<1>.在Linux系统下,有一个iptable,能将指定的网络请求强制其指向本地
<2>.android下有一款框架可以实现流量拦截————droidwall(需要root权限)
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
static long | getMobileRxBytes() 获取手机下载所消耗的流量(2g/3g) | ||||||||||
static long | getMobileTxBytes() 获取手机上传所消耗的流量(2g/3g) | ||||||||||
static long | getTotalRxBytes() 获取手机下载所消耗的总流量(2g/3g+wifi) | ||||||||||
tatic long | getTotalTxBytes() 获取手机上传所消耗的总流量(2g/3g+wifi) | ||||||||||
static long | getUidRxBytes(int uid) 获取具体哪个应用下载所消耗的流量(2g/3g+wifi) | ||||||||||
static long | getUidTcpRxBytes(int uid) 获取具体哪个应用上传所消耗的流量(2g/3g+wifi) |
十五.SlidingDrawer
注:控制抽屉的高度或者宽度,通过让其他控件来占位,这样来挤小抽屉
<SlidingDrawerandroid:layout_width="match_parent"android:layout_height="match_parent"android:content="@+id/content"-----------抽屉中的内容android:handle="@+id/handle"-----------抽屉的把手android:orientation="horizontal"-----------抽屉放置位置水平或者垂直><ImageViewandroid:id="@id/handle"---------引用抽屉的把手android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/lock" /><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center"android:orientation="ve rtical" ><TextViewandroid:id="@id/content"---------引用抽屉的内容android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="我的第一个抽屉" /></LinearLayout>
</SlidingDrawer>
十六.WebView类
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
void | loadUrl( String url) 加载指定url地址的html文件 | ||||||||||
void | setWebViewClient( WebViewClient client) 设置一个WebView是否加载完毕的监听 | ||||||||||
WebSettings | getSettings() 获取WebView中的配置信息的对象,可修改WebView中的字体大小 |
十七.其他控件
(1)Button有ImageButton区别在于ImageButton没有text属性
(2)ToggleButton:Android原生的开关按钮
(3)AnalogClock:Android原生的钟表控件
(4)DigitalClock:电子数字钟表
(5)DatePicker:Android原生日期选择的控件
(6)TimePicker:Android原生时间选择的控件
更多推荐
Android开发——Android杂乱整理
发布评论