当前位置: 编程技术>移动开发
本页文章导读:
▪padding与margin的差别 padding与margin的区别
一、对于几个概念的比较模糊的这里记录一些:padding margin都是边距的含义,关键问题得明白是什么相对什么的边距. padding是控件的内容相对控件的边缘的边距. margin是.........
▪ IActivityManager ,ActivityManagerNative,ActivityManagerService之间怎么进行工作 IActivityManager ,ActivityManagerNative,ActivityManagerService之间如何进行工作
起点:研究设置字体大小的实现mCurConfig.fontScale = Float.parseFloat(objValue.toString()); ActivityManagerNative.getDefault().updatePersistentCon.........
▪ 字符串去除空格 字符串去掉空格
- (void)uui
{
array2 = [NSMutableArray arrayWithContentsOfFile:Path2];
string = (NSString *)[array2 objectAtIndex:3];
NSString *string2 = @"Partly Cloudy";
NSString *trimmedString = [string stringByTrimmingCharactersIn.........
[1]padding与margin的差别
来源: 互联网 发布时间: 2014-02-18
padding与margin的区别
一、对于几个概念的比较模糊的这里记录一些:
padding margin都是边距的含义,关键问题得明白是什么相对什么的边距.
padding是控件的内容相对控件的边缘的边距.
margin是控件边缘相对父空间的边距.
android:gravity 属性是对该view 内容的限定.比如一个button 上面的text. 你可以设置该text 在view的靠左,靠右等位置.该属性就干了这个.
android:layout_gravity是用来设置该view中的子view相对于父view的位置.比如一个button 在linearlayout里,你想把该button放在靠左,靠右等位置就可以在linearlayout中通过该属性设置.
下面例子说明:
那么我会得到如下的效果,图上已经很明确的标出来区别咯
一、对于几个概念的比较模糊的这里记录一些:
padding margin都是边距的含义,关键问题得明白是什么相对什么的边距.
padding是控件的内容相对控件的边缘的边距.
margin是控件边缘相对父空间的边距.
android:gravity 属性是对该view 内容的限定.比如一个button 上面的text. 你可以设置该text 在view的靠左,靠右等位置.该属性就干了这个.
android:layout_gravity是用来设置该view中的子view相对于父view的位置.比如一个button 在linearlayout里,你想把该button放在靠左,靠右等位置就可以在linearlayout中通过该属性设置.
下面例子说明:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:paddingLeft="10dip" android:paddingRight="10dip" android:paddingTop="10dip" android:paddingBottom="10dip" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#FF0000" android:text="@string/hello" android:paddingLeft="50dip" android:paddingRight="50dip" android:paddingTop="50dip" android:paddingBottom="50dip" android:layout_marginBottom="10dip" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#FF0000" android:text="@string/hello" android:paddingLeft="50dip" android:paddingRight="50dip" android:paddingTop="50dip" android:paddingBottom="50dip" android:layout_marginBottom="10dip" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#FF0000" android:text="@string/hello" android:paddingLeft="50dip" android:paddingRight="50dip" android:paddingTop="50dip" android:paddingBottom="50dip" android:layout_marginBottom="10dip" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#FF0000" android:text="@string/hello" android:paddingLeft="50dip" android:paddingRight="50dip" android:paddingTop="50dip" android:paddingBottom="50dip" android:layout_marginBottom="10dip" /> </LinearLayout>
那么我会得到如下的效果,图上已经很明确的标出来区别咯
[2] IActivityManager ,ActivityManagerNative,ActivityManagerService之间怎么进行工作
来源: 互联网 发布时间: 2014-02-18
IActivityManager ,ActivityManagerNative,ActivityManagerService之间如何进行工作
起点:
研究设置字体大小的实现
mCurConfig.fontScale = Float.parseFloat(objValue.toString()); ActivityManagerNative.getDefault().updatePersistentConfiguration(mCurConfig);
开始分析:
IActivityManager 定义的接口。
ActivityManagerNative extends Binder implements IActivityManager
ActivityManagerService extends ActivityManagerNative
系统源码在使用的时候往往是:
ActivityManagerNative.getDefault()这样。
源码:
static public IActivityManager getDefault() {
return gDefault.get();
}
private static final Singleton<IActivityManager> gDefault = new Singleton<IActivityManager>() {
protected IActivityManager create() {
//别忘记service是IBinder的子
IBinder b = ServiceManager.getService("activity");
if (false) {
Log.v("ActivityManager", "default service binder = " + b);
}
IActivityManager am = asInterface(b);
if (false) {
Log.v("ActivityManager", "default service = " + am);
}
return am;
}
};
返回的是ActivityManagerProxy的实例,
它只是一个代理类,这个代理类实际上代理的是IBinder b = ServiceManager.getService("activity")这个Service。
就是说,实现主要在ActivityManagerService。
- 这个Service是什么时候添加进来的呢?
在SystemServer.java的run()中
ActivityManagerService.setSystemProcess()中
ServiceManager.addService("activity", m);
。。。还许多系统服务。
所以ActivityManagerNative.getDefault().updatePersistentConfiguration(mCurConfig)调用的是ActivityManagerService.java的updatePersistentConfiguration。
起点:
研究设置字体大小的实现
mCurConfig.fontScale = Float.parseFloat(objValue.toString()); ActivityManagerNative.getDefault().updatePersistentConfiguration(mCurConfig);
开始分析:
IActivityManager 定义的接口。
ActivityManagerNative extends Binder implements IActivityManager
ActivityManagerService extends ActivityManagerNative
系统源码在使用的时候往往是:
ActivityManagerNative.getDefault()这样。
源码:
static public IActivityManager getDefault() {
return gDefault.get();
}
private static final Singleton<IActivityManager> gDefault = new Singleton<IActivityManager>() {
protected IActivityManager create() {
//别忘记service是IBinder的子
IBinder b = ServiceManager.getService("activity");
if (false) {
Log.v("ActivityManager", "default service binder = " + b);
}
IActivityManager am = asInterface(b);
if (false) {
Log.v("ActivityManager", "default service = " + am);
}
return am;
}
};
返回的是ActivityManagerProxy的实例,
它只是一个代理类,这个代理类实际上代理的是IBinder b = ServiceManager.getService("activity")这个Service。
就是说,实现主要在ActivityManagerService。
- 这个Service是什么时候添加进来的呢?
在SystemServer.java的run()中
ActivityManagerService.setSystemProcess()中
ServiceManager.addService("activity", m);
。。。还许多系统服务。
所以ActivityManagerNative.getDefault().updatePersistentConfiguration(mCurConfig)调用的是ActivityManagerService.java的updatePersistentConfiguration。
[3] 字符串去除空格
来源: 互联网 发布时间: 2014-02-18
字符串去掉空格
- (void)uui { array2 = [NSMutableArray arrayWithContentsOfFile:Path2]; string = (NSString *)[array2 objectAtIndex:3]; NSString *string2 = @"Partly Cloudy"; NSString *trimmedString = [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; NSLog(@"%@ , %@", trimmedString, string2); if ([trimmedString isEqualToString:string2]) { NSLog(@"frack"); } }
最新技术文章: