第2章 Android应用的界面编程 2.1
来源:互联网 发布:pc安全软件 编辑:程序博客网 时间:2024/06/05 14:48
2.1 界面编程与视图(view)组件
android 的所有UI组件都继承了View累类,其重要子类ViewGroup通常作为组件的容器类使用,而ViewGroup是抽象类所以通常使用其子类做容器。
要善于使用文档,而Android的文档打开较慢。
大部分时候控制UI组件的XML属性还有对应的方法。
定义xml文件后Java代码使用如下方法在activity中显示:
setContentView(R.layout.<resource_name>);
访问资源文件使用:
findViewByID(R.id.<android.id.属性值>)
创建UI组件许传入this参数,即context参数(抽象类),代表访问Android应用环境的全局信息API,可通过该参数获取Android应用环境的全局信息。
通过xml来控制UI界面,要比使用代码控制要更方便。但完全使用xml来控制难免有失灵活,所以最好使用xml和java代码混合控制。
自定义View组件:
//跟随手指的小球public class DrawView extends View{ public float currentX = 40; public float currentY = 50; //定义并创建画笔 Paint p = new Paint(); public DrawView(Context context) { super(context); } public DrawView(Context context,AttibuteSet set) { super(context,set); } @Override public void onDraw(Canvas cnavas) { super.onDraw(canvas); //设置画笔的颜色 p.setColor(Color.RED); //绘制一个小圆 canvas.drawCircle(currentX,currentY,15,p); } //为该组件的触碰事件重写事件处理方法 @Override public boolean onTouchEvent(MotionEvent event) { //修改currentX,currentY两个属性 currentX = event.getX(); currentY = event.getY(); //通知当前组件重绘自己 invalidate(); //返回true表明该处理方法已经处理该事件 return true; }}
将该组件添加到指定容器
public class CustomView extends Acitivity{ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); LinearLayout root = (LinearLayout) findViewById(R.id.root); final DrawView draw = new DrawView(this); //设置自定义组建的最小宽度,高度 draw.setMinimumWidth(300); draw.setMinimumHeight(500); root.addView(draw); }}
如上是使用代码管理组件。
使用xml布局文件管理:
<LinearLayout<org.crazyit.ui.DrawView android:layout_width="match_parent" android:layout_height="match_parent"/></LinearLayout>
阅读全文
0 0
- 第2章 Android应用的界面编程 2.1
- 第2章 Android应用的界面编程
- Android应用的界面编程
- android应用的界面编程
- Android应用的界面编程
- Android应用的界面编程
- Android应用的界面编程
- Android应用的界面编程
- Android应用的界面编程
- Android应用的界面编程
- Android应用界面编程
- android应用界面编程
- Android应用的界面编程简述1
- Android应用的界面编程(一)
- Android应用的界面编程(一)
- 【Android应用界面编程】-----ExpendableListView
- 《疯狂Android讲义》读书笔记2.Android应用的界面编程
- 疯狂android笔记2android应用界面编程
- vs2017用F5调试时js,css文件不能加载导致的问题解决
- RPM命令
- 游标(光标)
- FileToZip文件压缩下载
- PHP网站自动化配置的实现
- 第2章 Android应用的界面编程 2.1
- 【AngularJS】Scope作用域
- 5-25
- js解析JSON串的一个小坑
- JVM常见错误与解决
- Disruptor多线程并发构架
- openwrt移植LTE模块
- Linux相关课外知识
- 使用Nexus搭建Maven私服