android平板布局
A. android平板 怎么设计好看的表单
1.来说下主程序MainActivity.java
public class MainActivity extends Activity {
private TableLayout table;
private Button select;
EmployeeDao = new EmployeeDao(this);
private Button add;
private Button update;
int selectedRow = 0;
int ActivityID=1;
List<Employee> list = new ArrayList<Employee>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
table = (TableLayout) this.findViewById(R.id.table);
table.setBackgroundColor(Color.GREEN);
//table.set
add = (Button) this.findViewById(R.id.add);
update = (Button) this.findViewById(R.id.update);
select = (Button) this.findViewById(R.id.select);
// 点击查询按钮处理事件
// Toast.makeText(this, "已查询过了!", Toast.LENGTH_SHORT).show();
select.setOnClickListener(new selectListener());
// 点击添加按钮事件处理,跳转到另一个activity
add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent();
i.setClass(MainActivity.this, AddAndUpdateActivity.class);
Bundle bundle=new Bundle();
ActivityID=1;
bundle.putInt("ID", ActivityID);
i.putExtras(bundle);
startActivity(i);
}
});
// 更新员工信息
update.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent();
i.setClass(MainActivity.this, AddAndUpdateActivity.class);
Bundle bundle=new Bundle();
ActivityID=2;
bundle.putInt("ID", ActivityID);
bundle.putInt("emID", selectedRow);
i.putExtras(bundle);
startActivity(i);
}
});
}
// 查询信息监听类
private class selectListener implements View.OnClickListener {
@Override
public void onClick(View v) {
list = .getAll();
if (list.size() != 0) {
for (int i = 0; i < list.size(); i++) {
TableRow row = new TableRow(MainActivity.this);
Employee em = list.get(i);// 查找所有员工信息
// 设置行标记
row.setId(em.getId());
row.setPadding(6, 1, 6, 1);
row.setGravity(Gravity.CENTER);
row.setBackgroundColor(Color.WHITE);
TextView view1 = new TextView(MainActivity.this);
view1.setText(Integer.toString(em.getId()));
view1.setGravity(Gravity.CENTER);//文本居中
view1.setTextSize((float) 18);文本大小
view1.setTextColor(Color.RED);
view1.setPadding(10, 2, 10, 2);//边框左、上、右、下
row.addView(view1);添加一行
TextView view2 = new TextView(MainActivity.this);
view2.setText(em.getName());
view2.setTextSize((float) 18);
view2.setPadding(10, 2, 10, 2);
row.addView(view2);
TextView view3 = new TextView(MainActivity.this);
view3.setText(Integer.toString(em.getAge()));
view3.setTextSize((float) 18);
view3.setGravity(Gravity.CENTER);
view3.setPadding(10, 2, 10, 2);
row.addView(view3);
TextView view4 = new TextView(MainActivity.this);
view4.setText(em.getPosition());
view4.setTextSize((float) 18);
view4.setPadding(10, 2, 10, 2);
row.addView(view4);
TextView view5 = new TextView(MainActivity.this);
view5.setText(em.getDepartment());
view5.setTextSize((float) 18);
view5.setPadding(10, 2, 10, 2);
row.addView(view5);
TextView view6 = new TextView(MainActivity.this);
view6.setText(em.getWorkdate());
view6.setTextSize((float) 18);
view6.setPadding(10, 2, 10, 2);
row.addView(view6);
TextView view7 = new TextView(MainActivity.this);
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
try {
date = format.parse(em.getWorkdate());
} catch (ParseException e) {
e.printStackTrace();
}
float d= (float)((new Date().getTime()-date.getTime())/(24*60*60*1000)/365);//计算工龄
String dd=Integer.toString((int) d+1);
view7.setText(dd);
view7.setTextSize((float) 18);
view7.setPadding(10, 2, 10, 2);
row.addView(view7);
table.addView(row);
row.setOnClickListener(new View.OnClickListener() {//点击某行触发事件
@Override
public void onClick(View v) {
System.out.println("行标记:" + v.getId());
for (int i = 0; i < table.getChildCount(); i++) {
if (table.getChildAt(i).getId() != v.getId())
table.getChildAt(i).setBackgroundColor(Color.WHITE);
// 选中时,高亮显示即设置背景色
v.setBackgroundColor(Color.YELLOW);
}
selectedRow = v.getId();
AlertDialog.Builder dialog = new AlertDialog.Builder(
MainActivity.this);
dialog.setTitle("请确认:");
dialog.setMessage("是否删除这条记录?");
dialog.setPositiveButton("确定",
new DialogInterface.OnClickListener() {
@Override
public void onClick(
DialogInterface dialog,int which) {
EmployeeDao = new EmployeeDao(MainActivity.this);
.delete(selectedRow);
Toast.makeText(MainActivity.this,
"删除成功", Toast.LENGTH_SHORT).show();
Intent i = new Intent();
i.setClass(MainActivity.this,MainActivity.class);
startActivity(i);
}
});
dialog.setNegativeButton("取消",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
dialog.cancel();
} });
dialog.show();
}
});
}
}
}
}
}
2.然后是添加和更新的界面,两个功能使用同一个xml文件布局
<RelativeLayout
android:background="#2691f2"
tools:context=".AddAndUpdateActivity" >
<TextView
android:id="@+id/t"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:textSize="25sp"
android:text="@string/addinfo"
android:textColor="#bc4b86" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_below="@+id/t"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="30dp" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/name" />
<EditText
android:id="@+id/nm"
android:inputType="text"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_marginLeft="25dp" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/age" />
<EditText
android:id="@+id/ag"
android:inputType="text"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_marginLeft="25dp" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/position" />
<EditText
android:id="@+id/pzs"
android:inputType="text"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_marginLeft="25dp" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/dptmt" />
<EditText
android:id="@+id/dptmt"
android:inputType="text"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_marginLeft="25dp" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/date" />
<EditText
android:id="@+id/wkdt"
android:inputType="text"
android:layout_width="150dp"
android:layout_height="wrap_content" />
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="20dp" />
<Button
android:id="@+id/addnew"
android:layout_width="60dp"
android:layout_height="40dp"
android:layout_gravity="center_horizontal"
android:text="@string/add" >
</Button>
</LinearLayout>
</RelativeLayout>
B. android 平板开发 怎么适配平板的屏幕啊
好像就那几种:
1根据不同的分辨率做几个布局,然后通过获取当前设备的分辨率加载相应的布局;
2获取当前设备的分辨率调整控件的宽/高;
3使用和分辨率无关的单位(dp/dip)来设置宽/高;
4针对特定的设备布局;
图片也要做几种分辨率放在不同的drawable文件夹下.
C. Android平板开发需要注意的几点
随着移动平台的发展和其应用的不断改善,质量成为决定成败的关键。用户要求他们选择安装的应用响应快、性能好,如果某个应用不能提供卓越的功能和稳定的用户体验,那这样的应用注定会被很快卸载。
尽管现在android智能手机和平板电脑的运行速率越来越快,但开发者仍需牢记,应用的运行环境仍受到电池和处理器等诸多资源的限制。以下是给android应用开发者10个建议,以便能在当前和以后的所有android设备都能运行出最佳效果。
1.首先要有良好的编码习惯
一个优秀的android应用开发者应该善于运用常识、完善的算法和标准设计模式。要有资源意识,打开了就要记得关闭,尽量做到晚获取,早释放。这些由来已久的编码准则同样适用Android应用开发,尤其是使用基础设备服务时。
2.让阻塞操作远离主UI线程
通过使用AsyncTask、线程、IntentService和自定义后台服务,保证应用的灵活性。使用加载工具简化游标等长时间加载数据的状态管理。当有其他程序运行时,不能让应用滞后或中止。
如果一个操作需要消耗较多时间和资源时,取消该操作,换成异步处理,这样应用就能保持响应,用户可以继续各种操作。该方法适用磁盘读写、访问内容提供方、数据库和互联网,以及解析和其他需要花费较长时间的任务。
3.使用最新的android SDK版本和API
使用android平台的最新产品,保证应用紧跟android的更新步伐。随着android平台的不断发展,部分功能可能被弃用或被更好的功能取代,核心API接收了bug修复和性能改进,新API有助于android应用开发者编写出更稳定的应用。要明白最佳的做法总是随着时间的推移而变,聪明的android应用开发者应该总是站在整个平台的最前沿。
4.考虑使用StrictMode
从android 2.3开始提供了一个新的类StrictMode,该类可以用于捕捉发生在应用程序主线程中耗时的磁盘、网络访问或函数调用,可以帮助开发者改进程序,使主线程处理UI和动画在磁盘读写和网络操作时变得更平滑,避免主线程被阻塞。
5.发布前禁用或尽量减少调试
如果android应用开发周期较长,很可能在应用中内置了一些日志或调试代码,在发布前确保这些功能已经最小化或完全禁用。
6.确保UI布局简单优雅
简单的屏幕不仅方便阅读,还能加快加载速度。与其在一个单一屏幕上堆砌太多不必要的功能,不如花时间去开发优雅的用户界面。简单优雅的UI不仅能提高应用性能,还能提高用户使用该应用时的效率。
7.根据目标设备调整应用资源
为尽可能高效地被加载,需要根据具体设备的配置调整相应资源,尤其是图片资源。为使应用包文件合理适用不同设备,首先可只添加运行该应用需要的核心资源,然后再根据具体设备下载相关内容。
8.使用Hierachy Viewer可视化调试工具
Hierachy Viewer能很方便地在开发者设计,调试和调整界面时,快速定位问题,解决问题,提高开发效率。
9.使用layoutopt进行布局优化
Layoutopt是一款简单的命令行工具,可帮助找到不必要的控件嵌套以及缩减布局资源,从而使应用变得可能“苗条”。控件越少、布局层次越浅,性能就越好。
10.使用Traceview及其他Android工具进行分析
Android SDK随带了很多用于应用分析的工具,其中最受欢迎的是Traceview,这款图形工具可以帮助调试和找到应用中的性能瓶颈。
D. 完全一样安卓4.0手机对比安卓4.0平板
【IT168 评测】在这个Android手机大行其道的时代,现在最热门的话题是什么?毫无疑问的是Android4.0。无论是普通用户还是发烧友,都对这个具有革命性升级的操作系统抱有极大的关注。之所以说Android 4.0有着革命性的升级,主要是因为4.0的界面和之前的Android界面完全不一样,据谷歌的说法是Android系统在4.0时代将会使手机和平板电脑达到一个统一,也就是说,无论是手机还是平板,都是使用的Android4.0系统,并且用起来的操作方式是一样的。
评测样机提供商家:睿风电讯 商家地址:中关村e世界1080 电话:010-57138088
▲Android4.0系统的平板电脑和手机
什么是安卓4.0?
Android 4.0系统研发代号为Ice Cream Sandwich,简称ICS,中文名称:冰淇淋三明治,是谷歌发布的最新一代手机和平板电脑的操作系统。
▲谷歌总部Android4.0冰激凌三明治的吉祥物
安卓干嘛要弄这么多版本?
安卓2.0/3.0/4.0都是怎么回事?
其实要把这事儿说明白了简单但也复杂。说简单是因为我一说大家就能明白,说复杂是因为这事儿几乎要从世界上有猫的那一年说起...
话说,谷歌的Android系统一直是按部就班的升级,1.0到1.5到2.0到2.1到2.2这样。大家一直相安无事,过着美满幸福的生活。
但是2010年的时候,苹果出了iPad这么个东西,卖的挺火,然后很多厂商也想去搞平板电脑,操作系统自然就是首选好用又开源的Android了。但是不要忘了Android系统诞生的时候就是按照一个智能手机的需求去设计的,后来大家就发现,把这么一个手机系统放在平板电脑上会有各种不爽,怎么办呢?谷歌说,大家别急,那么多平板电脑用我们的系统,我们不会不管的,后来谷歌干脆专门为Android平板电脑重新设计了一个合适的系统(内核一样但界面UI不同)。为了区别于之前手机的Android 2.x系统,就叫Android 3.0。从此,平板电脑就有了一个专用的系统:Android 3.0。从此以后,平板电脑的系统就是3.0到3.1到3.2这么按部就班的升级着。
这样看来,手机有专用的系统,平板也有专用的系统了,应该天下太平了吧?非也,开发人员后来发现想给Android系统的机器做个软件实在是太麻烦了。本来就要考虑各个品牌不同手机配置和屏幕分辨率的差异,这下好了,又来了个Android 3.0,一个程序要做成N个不同的版本(比如QQ就有至少4种版本),开发个软件还不把我累死啊?本来做Android软件赚钱就不容易(底下小声嘟囔:瞧人家IOS...一个给iPhone,一个给iPad,两个版本就全搞定)。不仅仅是开发者,硬件厂商和谷歌也看到了这点,总不能把精力都放在内耗上吧?
后来,谷歌就做出了一个“艰难”的决定,神马2.x,神马3.x,不要区分神马手机神马平板了,以后再升级新的系统,用像平板3.0那样炫酷的界面,要适应平板电脑,也要是适合于手机。这样手机和平板就都装一个就行了。软件开发者省事,用户无论是用手机还是平板,上手也不费劲。于是Android 4.0诞生了。
手机平板机型和开屏界面
谷歌说了Android 4.0系统手机和平板电脑的统一,那么以后的Android4.0手机和Android4.0平板就是完全一样的了?
为了解决大家的疑问,今天笔者就找来了两台Android4.0设备,一个手机,一个平板电脑。让两台机器的界面做一个比较,看看手机版和平板电脑版本的Android4.0有什么相同和不同的地方。
手机上我们使用了三星的GALAXY Nexus(原生Android4.0),平板电脑则是纽曼K97(使用官方刷机包升级至Android4.0)。
▲纽曼K97和三星GALAXY Nexus
首先看解锁界面,两款设备在解锁界面上几乎是一样的,都是一个圆环形的图标,向左拖动是拍照,向右拖动则是直接解锁屏幕。
▲Android 4.0 手机锁屏界面
▲Android 4.0 平板锁屏界面
▲Android4.0平板和手机的解锁屏幕操作视频
主屏和主屏按钮的布局
打开屏幕,我们看到了Android桌面的主页面。主页面看起来基本的风格都是一致的,只是平板进入程序的按键在屏幕右上角,而手机的进入程序的按键则是在屏幕底部中间,旁边还有一些程序的快捷键。谷歌搜索,数字时间,电池电量等等小细节也都是一致的,只是放在屏幕当中的位置略有差异。手机中基本都是集中在屏幕顶部,而平板则更多的放置在了屏幕底部。
在手机上比较明显的另一个改变是手机屏幕当中使用了三颗虚拟的触摸按键,也就是说以后的Android4.0手机都不需要在手机屏幕地下搞触摸键了。按键直接显示在屏幕当中,当运行一些全屏程序的时候也可以有效的避免误触。
这三个键在Android 3.0的平板电脑当中就有这样的设计,到了Android4.0,手机也和平板电脑都统一为这三科屏幕触摸键了。这三可触摸键的作用分别是:返回,主页,和程序列表(相当于过去Android手机的长按主页键切换最近运行过的程序)。
▲Android 4.0 手机主屏界面
▲Android 4.0 平板主屏界面
Android 4.0手机和平板进入程序功能表视频
切换最近程序列表的对比
说到了切换程序,我们就来看下手机和平板切换程序的界面。在最近程序列表的界面上,手机和平板是一样的。当然,手机的屏幕尺寸小一些,所以程序列表占满了整个屏幕,而平板上则是占用了不到一半的屏幕面积。
▲Android 4.0手机 最近程序列表截图
▲Android 4.0平板 最近程序列表截图
▲Android 4.0手机和平板 点击最近程序列表
程序和插件图标功能表
打开程序的功能表界面,发现手机和平板也是一样的。顶部有程序和桌面插件的分类。直接向右滑动可以切换程序页面,划过程序后则是进入到桌面插件页面。所有的桌面插件都要在此添加,Android2.x时代的直接长按桌面选择添加插件的时代已经一去不复返了。
▲Android 4.0手机的程序图标功能表
▲Android 4.0平板 程序图标功能表
▲Android 4.0手机和平板 功能表和桌面插件页面
添加桌面插件的方式
前面说过所有的桌面插件都要在此添加,在Android 4.0当中已经不能靠直接长按桌面选择添加插件了。下面就让我们通过截图看下在4.0系统中,手机和平板电脑要如何添加桌面的小插件。
▲Android 4.0手机 只能从功能表添加桌面插件
▲Android 4.0平板 同样只能从功能表添加桌面插件
▲Android 4.0手机 长按桌面只能选择壁纸 不能添加插件
▲Android 4.0平板 长按桌面 同样只能选择壁纸 不能添加插件
操作系统内的菜单分栏
前面介绍完主界面,功能表,接下来就是程序菜单界面了。
程序的菜单这里自然是设置菜单了,因为...Android就这么一个菜单,剩下的基本都是图标形式的。进入设置菜单。虽然颜色主题风格还是一样的,但是我们可以看出来在平板界面上直接分出了左右两栏,左边是目录栏,右边则可以显示出内容。充分利用了平板的大尺寸屏幕优势。
▲Android4.0平板菜单 分为目录/内容的分栏显示
而在手机上,则还是直接的一条下来,每个功能还要点进去,使用别的功能还要返回。
▲Android4.0手机菜单 没有目录/内容的分栏显示
这时手机屏幕竖直的状况,那么如果把手机横过来呢?Android4.0会不会也利用一下宽屏的优势呢?经过我们的测试,发现手机版本的Android4.0并不能达到这个效果,及时把手机横过来也不会出现平板系统的那种左右分栏效果,看来,手机的系统和平板的系统在淡淡的结构上还是有着区分的对待的。
▲Android4.0手机横屏 也不会出现目录/内容的分栏显示
▲Android4.0手机横屏 也不会出现目录/内容的分栏显示
对比总结 可升级4.0机型简介
总结
经过我们的测试,我们可以得出如下的结论:Android4.0的手机系统与平板系统,在界面的颜色主题风格和操作上几乎是完全一致的,相似度可以达到99%。区别就是Android4.0在平板上的布局位置有一些细节上的小变化。不过即使这样,也并不会有之前Androi2.0和3.0那样操作差异比较大的感觉。
当然,虽然系统软件基本是一样的,但是手机和平板的硬件还是有不小的差距的,并不是说一台Android4.0手机就可以代替Android平板。
可升级Android4.0机型
我们已经了解到了Android4.0手机系统和Android4.0平板系统的区别,那么什么样的手机能升级到Android 4.0呢?理论上只要是Android可以运行2.3系统,处理器达到1GHz的手机,都可以升级到Android4.0,但是很多没有官方承诺可以升级的机型只能期待民间高手放出ROM升级包了。
▲528Mhz处理器的G1都可以4.0,不过要靠移植的ROM了
▲玩家保有量大的机型基本都可以升级到Android 4.0,比如这个HTC Sensation(G14)
现在得知可以升级到Android 4.0的手机有下面这些型号(官方承诺可以升级):
三星:GALAXY S2以及之后推出的机型,例如GALAXY Note
索尼爱立信:LT18i,ST18i,MT11i
摩托罗拉:Atrix2(包括)以及之后推出的机型,例如Droid RAZR
HTC:Desire HD之后推出的机型,例如Sensation(G14)
华为Honer荣耀,小米手机
▲近期上市的新款手机基本上官方都会提供升级4.0
▲华为honor荣耀已经升级到了官方的Android4.0
E. Android的Pad上如何把屏幕分成左右两个部分,左边用于一系列的输入,右边输出
左右平均分么,LinearLayout里面套两个布局就好了,子布局高度充满,宽度为0dp,然后再设置一下weight=1,两个子布局就严格的1比1分配了。…不知道你说的是不是这个意思的问题。求分~
F. 为什么同样android系统在平板上和手机上的操作界面(UI)大不一样呢
因为有些(如三星、联想等)公司可以修改UI,说实话,我没见过3.2系统的,但是我知道,每个UI界面都不一样
G. Android布局优化的几种方式
1. include/merge
布局优化中常常用到include/merge标签,include的含义类似C代码中的include,意思是直接把指定布局片段包含进当前的布局文件。include适用于多个布局文件中存在相同的xml片段,比如说相同的标题栏、相同的广告栏、相同的进度栏等等。
2. ViewStub
在一个页面上根据不同条件展示不同的控件,我们常常会设置控件的可视属性,比如调用指定控件的setVisibility方法,若需展示则设置View.VISIBLE,若需隐藏则设置View.GONE。不过gone的控件只是看不到罢了,实际UI渲染时还是会被加载。要想事先不加载,在条件符合时才加载,就得用到标签ViewStub。
3. style样式
样式在res/values/styles.xml中定义,它适用于下面几种情况:
1、布局文件中存在多个具有相同风格的控件,比如说统一的文本框TextView,都是白底黑字、中号字体、居中显示,这时我们便可在styles.xml定义一种文本样式,然后在各文本框处声明它的style属性。好处一个是减少了布局文件的大小,另一个是方便以后统一修改风格。
2、某些控件在代码中声明时需要手工指定style,例如自定义对话框需要在构造函数中指定样式;另一个例子是弹窗PopupWindow在设置伸缩动画方法setAnimationStyle时需要指定动画样式。
3、定义页面的主题风格,然后应用到Activity页面。代码中设置主题可通过“setTheme(R.style.)”完成,布局中设置可在AndroidManifest.xml的activity节点下添加theme属性,如“android:theme=”@style/“”。
4. Theme主题
主题是一种特殊的样式,主题专用于页面,而样式一般运用于控件。主题定义一般放在themes.xml,样式定义一般放在styles.xml。
Android定义了一些系统主题,完整定义的参见sdk自带的themes.xml,常用的几种说明如下:
Theme.NoTitleBar : 不显示标题栏,即隐藏ActionBar
Theme.Light : 白色背景
Theme.Holo : 浅灰背景
Theme.Black : 黑色背景
Theme.Wallpaper : 壁纸
Theme.Translucent : 透明背景
Theme.Dialog : 对话框
Theme.Panel : 平板
Theme.InputMethod : 输入法
Theme.SearchBar : 搜索框
H. Android新人对于现在的布局文件不太了解啊,activity_main.xml和fragment_main.xml区别
为了让界面可以在平板上更好地展示,Android在3.0版本引入了Fragment(碎片)功能,它非常类似于Activity,可以像Activity一样包含布局。Fragment通常是嵌套在Activity中使用的,现在想象这种场景:有两个Fragment,Fragment 1包含了一个ListView,每行显示一本书的标题。Fragment 2包含了TextView和ImageView,来显示书的详细内容和图片。
个人理解就好像web中的iframe样,一个HTML页面可以放多个iframe
I. android 布局 怎么二等分
linelayout , 设置 一个小的宽带 ,
android:layout_weight 都设为1 。
父亲组件 设为 fill parent 。
这样 ,两个的子 组件 宽度都会扩展到屏幕的一半。
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。 2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。
J. android 项目多套页面布局
.
onCreate(){
if(条件){
setContenView(R.layout.a)
}else{
setContenView(R.layout.b)
}
}
.如果是分辨率或者手机和平板的话,会有不同的drawable或者layout文件夹可以使用,会自动适配相关命名的文件夹内的文件,这方面可以了解下