android基础-view的属性(XML通用属性和方法)和布局管理器(常用布局)
2017-08-14 01:41
701 查看
简单的自定义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 , AttributeSet set) { super(context,set); } @Override public void onDraw(Canvas canvas) { 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 MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); LinearLayout root = (LinearLayout) findViewById(R.id.root); // 创建DrawView组件 final DrawView draw = new DrawView(this); // 设置自定义组件的最小宽度、高度 draw.setMinimumWidth(300); draw.setMinimumHeight(500); root.addView(draw); } }
代码下载地址,其实我不想用积分的,但是现在好像变了,最少一积分
**
布局管理器
**1.线性布局
LinearLayout的常用XML;属性及相关方法
LinearLayout子元素支持的常用XML;属性及相关方法
2.表格布局
LinearLayout的常用XML;属性及相关方法、
3.帧布局
小案例:霓虹灯效果
public class MainActivity extends AppCompatActivity { private int currentColor = 0; // 定义一个颜色数组 final int[] colors = new int[] { R.color.color1, R.color.color2, R.color.color3, R.color.color4, R.color.color5, R.color.color6 }; final int[] names = new int[] { R.id.view01, R.id.view02, R.id.view03, R.id.view04, R.id.view05, R.id.view06 }; TextView[] views = new TextView[names.length]; Handler handler = new Handler() { @Override public void handleMessage(Message msg) { // 表明消息来自本程序所发送 if (msg.what == 0x123) { for (int i = 0; i < names.length; i++) { views[i].setBackgroundResource(colors[(i + currentColor) % names.length]); } currentColor++; } super.handleMessage(msg); } }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); for (int i = 0; i < names.length; i++) { views[i] = (TextView) findViewById(names[i]); } // 定义一个线程周期性地改变currentColor变量值 new Timer().schedule(new TimerTask() { @Override public void run() { // 发送一条空消息通知系统改变6个TextView组件的背景色 handler.sendEmptyMessage(0x123); } }, 0, 200); } }
XML布局
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <!-- 依次定义6个TextView,先定义的TextView位于底层 后定义的TextView位于上层 --> <TextView android:id="@+id/view01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:width="160pt" android:height="160pt" android:background="#f00"/> <TextView android:id="@+id/view02" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:width="140pt" android:height="140pt" android:background="#0f0"/> <TextView android:id="@+id/view03" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:width="120pt" android:height="120pt" android:background="#00f"/> <TextView android:id="@+id/view04" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:width="100pt" android:height="100pt" android:background="#ff0"/> <TextView android:id="@+id/view05" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:width="80pt" android:height="80pt" android:background="#f0f"/> <TextView android:id="@+id/view06" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:width="60pt" android:height="60pt" android:background="#0ff"/> </FrameLayout>
3.相对布局
4.网络布局
5.绝对布局(已废弃)
不做介绍
相关文章推荐
- Android View布局xml常用 属性详解
- android xml界面布局常用属性概括
- android xml布局中TextView文字居中方法
- Android 复习笔记之图解TextView类及其XML相关属性和方法
- TextView的XML属性说明全析 ---Android基础篇
- Android布局解析的三种方法(.xml-->View)
- android xml布局中TextView居中方法
- android 基础控件(EditView、SeekBar等)的属性及使用方法
- Android布局文件.xml中的自定义属性(结合封装的自定义View)
- Android_View类的xml属性相关方法及说明
- Android绘图机制(一)——自定义View的基础属性和方法
- Android绘图机制(一)——自定义View的基础属性和方法
- android小游戏制作基础,View实现游戏布局和方法
- 【android_温故知新】View 类的 XML 属性及相关方法说明
- Android控件之EditView常用属性及应用方法
- android xml界面布局常用属性概括
- UITableView常用属性和方法基础
- android RelativeLayout常用xml布局属性
- Android View XML属性 相关方法 及 说明
- android RelativeLayout常用xml布局属性