Android开发-将自定义View布局到Layout中并调用

写程序的时候,关于布局方面遇到并解决的问题

      1.自定义View及其layout属性.

       自定义View:

 

[java]  view plain copy
  1. public class DrawView extends View {  
  2.        //构造函数  
  3.        public DrawView(Context context, AttributeSet attrs) {  
  4.            super(context, attrs);  
  5.        }  
  6.        @Override  
  7.        protected void onDraw(Canvas canvas) {  
  8.            canvas.drawLine(10,10,500,500, mPaint);  
  9.            super.onDraw(canvas);  
  10.        }  
  11. }  

       特别注意,其构造函数有三种,即DrawView()/DrawView(Context context)/DrawView(Context context,AttributeSet attrs)。在创建自定义View后,一般需要实现三个构造函数,否则在layout中将出错。其实只实现最后一种也是没有问题的。

       在layout中要使用自定义View有两种方法:

      a.自定义View是公共类

[xhtml]  view plain copy
  1.  <com.dev.DrawView  
  2. android:layout_width="fill_parent"   
  3. android:layout_height="wrap_content"  
  4. android:layout_weight="10"          android:background="@android:color/transparent"/>   

      其中com.dev.DrawView是自定义View的位置.

 

      b.自定义View是内部类

[c-sharp]  view plain copy
  1. <view  
  2.         class="com.dev.ctivity01$DrawView"  
  3.     android:layout_width="fill_parent"   
  4.     android:layout_height="wrap_content"  
  5.     android:layout_weight="10"          android:background="@android:color/transparent"/>  
  

      此时,DrawView是在Activity01内部定义的。

 

2.在Android模拟器中运行软件非全屏的解决

       需要将AndroidManifest.xml文件中的的miniSdkVersion的值设置为4以上,否则分辨率一直会是320*480.

    AndroidManifest.xml

[xhtml]  view plain copy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
  3.       package="com.dev"  
  4.       android:versionCode="1"  
  5.       android:versionName="1.0"  
  6.       >  
  7.       <uses-sdk android:minSdkVersion="4" />  
  8.     <application android:icon="@drawable/icon" android:label="@string/app_name" >  
  9.         <activity android:name=".Activity01  
  10.                   android:label="@string/app_name">  
  11.             <intent-filter>  
  12.                 <action android:name="android.intent.action.MAIN" />  
  13.                 <category android:name="android.intent.category.LAUNCHER" />  
  14.             </intent-filter>  
  15.         </activity>  
  16.   
  17.     </application>  
  18.   
  19.   
  20. </manifest>   

 

3. layout中常用组件属性
android:id  —— 为控件指定相应的ID
android:text —— 指定控件当中显示的文字,需要注意的是,这里尽量使用strings.xml文件当中的字符串
android:grivity —— 指定控件的基本位置,比如说居中,居右等位置
android:textSize —— 指定控件当中字体的大小
android:background —— 指定该控件所使用的背景色,RGB命名法 
android:width —— 指定控件的宽度
android:height —— 指定控件的高度
android:padding* —— 指定控件的内边距,也就是说控件当中的内容
android:sigleLine —— 如果设置为真的话,则将控件的内容在同一行当中进行显示


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值