一般情况下对于Android程序布局我们往往使用XML文件来编写,这样可以提高开发效率,但是考虑到代码的安全性以及执行效率,可以通过Java代码执行创建,虽然Android编译过的xml是二进制的,但是加载xml解析器的效率对于资源占用还是比较大的,因此我今天用java代码实现界面布局。
代码如下:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//首先获取Layout的引用
LinearLayout myLinearLayout=new LinearLayout(this);
myLinearLayout.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
//声明mySpinnerParams的参数
LinearLayout.LayoutParams mySpinnerParams=new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
//声明并创建Spinner
final Spinner mySpinner=new Spinner(this);
//取得所有城市信息放入到字符串数组中
final String []cities=getResources().getStringArray(R.array.city);
//创建ArrayAdapter
final ArrayAdapter mySpinnerArrayAdapter= new ArrayAdapter(this,android.R.layout.simple_spinner_item,cities);
//设置ArrayAdapter下来方式
mySpinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
//将mySpinnerArrayAdapter设置到myBusSpinner中
mySpinner.setAdapter(mySpinnerArrayAdapter);
//添加到myLinearLayout中
myLinearLayout.addView(mySpinner,0, mySpinnerParams);
//根据Id取得系统的city.xml文件信息并放入到字符串数组中
final String[]route=getResources().getStringArray(R.array.city);
//创建myListViewArrayAdapter对象,用于封装字符串数组route信息
final ArrayAdapter myListViewArrayAdapter= new ArrayAdapter(this,android.R.layout.simple_list_item_1,route);
//创建myListView 对象
final ListView myListView= new ListView(this);
//声明myListViewParams的参数
LinearLayout.LayoutParams myListViewParams= new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
myListView.setAdapter(myListViewArrayAdapter);
//添加到myLinearLayout中
myLinearLayout.addView(myListView,1, myListViewParams);
//将ContentView布局设置为myLinearLayout
this.setContentView(myLinearLayout);
但是很不幸没有达到预期的效果。
我预期的效果如图一,但是检查了很多遍还是如图二的效果。
就是想让Spinner下面的ListView显示出来。
请各位高手指点迷津,非常感谢。
- 大小: 79.4 KB
- 大小: 51.8 KB
分享到:
相关推荐
这个APP可能是学生在学习Android应用开发时完成的一个重要练习,展示了Android应用的基本架构和功能实现。通过分析这个源码,我们可以深入理解Android应用的开发流程和技术要点。 首先,Android Studio是Google官方...
这里我们关注的是一个名为"Test1:VegetableAppAndroidJava源代码"的项目,它是一个开源的Android应用程序,旨在帮助开发者学习和理解Android Java源码的实现细节。开源意味着源代码可供所有人查看、学习和改进,这对...
Android的开放源代码特性允许开发者使用Java语言进行应用程序开发,这与传统的桌面应用程序开发有所不同,后者通常可以使用多种编程语言,并且与硬件的交互更为自由。 传统的桌面应用程序开发者可以充分利用操作...
5. **EmergencyCallFragment.java**:紧急呼叫功能的实现,可能有快速拨号或发送求助信息的功能。 6. **HealthMonitor.java**:健康监测相关的类,可能通过连接智能穿戴设备获取心率、血压等数据。 7. **...
在这个目录下,我们能找到关于如何控制LED闪光灯、启动报警功能的具体代码实现。 通过对这些文件的深入研究,我们可以学到以下Android开发的相关知识点: 1. **硬件访问**:如何使用Android的Camera API来控制设备...
"Android-master"则表示这是Android平台上的主分支代码,意味着系统可能有一个移动端应用,使用Java或Kotlin编写,遵循Android的开发规范。 在这个项目中,学生可能学习到了以下知识点: 1. **Java编程**:掌握Java...
3. **不向Android开发社区求助**:遇到问题时,除了SDK文档,Stack Overflow上的Android开发标签、谷歌邮件列表和各种在线教程都是宝贵的资源。积极参与社区互动,能更快找到解决方案。 4. **因Java语言而懒惰编程*...
利用Android布局技术,开发者可以灵活地设计出符合用户习惯的页面布局,提供友好的用户体验。客户端的主要功能包括: 1. 用户注册与登录:用户可以通过填写必要的个人信息进行注册,注册后的用户可以登录系统,享受...
由于原生Android代码支持的设备数量有限,对于想要在特定设备上运行Android的开发者,通常需要开发额外的程序来识别和驱动硬件。 3. A8-S5PV210开发板介绍:在本文件中,移植Android系统的实例是基于三星的S5PV210...
1. **项目结构**:Android应用的目录结构通常包括`src`(源代码)、`res`(资源文件)、`AndroidManifest.xml`(应用配置文件)等。了解这些目录的用途,有助于理解和组织项目。 2. **MVC/MVVM架构**:猫蛋糕应用...
学生首先需要掌握Android开发的基础,包括安装配置开发环境,创建新项目,理解和使用Android布局,以及调试技巧。 3.2 了解数据存储: 在游戏开发中,数据存储是非常关键的一环,学生需要学会如何使用SQLite数据库...
对于希望进入Android开发领域但不熟悉Java的人员,B4A是一个很好的起点。 总结,Basic4android 2.02提供了一种高效、易学的Android开发方式,它的全面特性与更新旨在提升开发体验和应用质量。通过使用这个工具,...
1. **Android开发环境**:使用Android Studio作为开发工具,理解其界面布局、控件使用以及项目构建流程。 2. **Java编程**:作为Android开发的主要语言,熟练掌握Java的基础语法、面向对象编程、异常处理等。 3. *...
通过研究这个源码,开发者可以学习到如何集成硬件功能、处理用户交互、实现特定的系统服务调用,以及如何优化Android应用的性能和用户体验。这是一个很好的实践案例,可以帮助初学者理解Android应用开发的基本流程,...
Android Studio提供了一系列的布局和组件工具,如LinearLayout、RelativeLayout和RecyclerView等,用于构建直观易用的UI。此外,考虑到老年人的使用习惯和特殊需求,界面设计应遵循无障碍和易用性原则,例如使用大...
1. Android应用开发:使用Java或Kotlin语言编写,遵循Android SDK的开发规范。 2. 设备硬件访问:通过Android系统的Camera API控制闪光灯。 3. 用户界面设计:使用XML布局文件创建适应不同屏幕尺寸的界面。 4. 资源...
《疯狂Android讲义——实例章节》是一本专为有志于深入学习Android应用开发的Java开发者准备的详尽指南。本书由李刚编著,由电子工业出版社于2011年7月出版,旨在全面解析Android应用开发的各个方面,不仅涵盖了理论...
2. **Java源代码**:以.java为扩展名的文件,包含了应用的业务逻辑和功能实现。每个类对应一个.java文件,这些类继承自Android的特定组件或实现了特定接口。 3. **资源文件**:位于res目录下,包括布局(layout)、...