现在的位置: 首页 > 综合 > 正文

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

2013年10月07日 ⁄ 综合 ⁄ 共 2328字 ⁄ 字号 评论关闭

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

      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 —— 如果设置为真的话,则将控件的内容在同一行当中进行显示


抱歉!评论已关闭.