android之【LinearLayout自定义View】
16lz
2022-04-20
<pre name="code" class="plain"><pre name="code" class="html">main.xml
<?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:id="@+id/root"></LinearLayout>
@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);//获取布局文件中的LinearLayout容器LinearLayout root = (LinearLayout)findViewById(R.id.root);//创建自定义的DrawView组件final DrawView draw = new DrawView(this);//设置自定义组件的最大宽度、高度draw.setMinimumWidth(300); draw.setMinimumHeight(500); //为draw组件绑定Touch事件draw.setOnTouchListener(new OnTouchListener(){@Overridepublic boolean onTouch(View arg0, MotionEvent event){//修改draw组件的currentX、currentY两个属性draw.currentX = event.getX();draw.currentY = event.getY();//通知draw组件重绘draw.invalidate();//返回true表明处理方法已经处理该事件return true;}});root.addView(draw);}
DrawView
public class DrawView extends View{public float currentX = 40;public float currentY = 50;/** * @param context */public DrawView(Context context){super(context);// TODO Auto-generated constructor stub}@Overridepublic void onDraw (Canvas canvas){super.onDraw(canvas);//创建画笔Paint p = new Paint();//设置画笔的颜色p.setColor(Color.RED);//绘制一个小圆(作为小球)canvas.drawCircle(currentX , currentY , 15 , p);}}
更多相关文章
- Android(安卓)自定义UI--电池
- 【转】android常用组件
- android组件
- android之组件4
- android经常调用的组件
- android setComponentEnabledSetting
- android 小米时钟的实现
- Android四大组件Service之bindService启动
- Android(安卓)四大组件之再论BroadCast