写程序的时候,关于布局方面遇到并解决的问题
1.自定义View及其layout属性.
自定义View:
- public class DrawView extends View {
- //构造函数
- public DrawView(Context context, AttributeSet attrs) {
- super(context, attrs);
- }
- @Override
- protected void onDraw(Canvas canvas) {
- canvas.drawLine(10,10,500,500, mPaint);
- super.onDraw(canvas);
- }
- }
特别注意,其构造函数有三种,即DrawView()/DrawView(Context context)/DrawView(Context context,AttributeSet attrs)。在创建自定义View后,一般需要实现三个构造函数,否则在layout中将出错。其实只实现最后一种也是没有问题的。
在layout中要使用自定义View有两种方法:
a.自定义View是公共类
- <com.dev.DrawView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_weight="10" android:background="@android:color/transparent"/>
其中com.dev.DrawView是自定义View的位置.
b.自定义View是内部类
- <view
- class="com.dev.ctivity01$DrawView"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_weight="10" android:background="@android:color/transparent"/>
此时,DrawView是在Activity01内部定义的。
2.在Android模拟器中运行软件非全屏的解决
需要将AndroidManifest.xml文件中的的miniSdkVersion的值设置为4以上,否则分辨率一直会是320*480.
AndroidManifest.xml
- <?xml version="1.0" encoding="utf-8"?>
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.dev"
- android:versionCode="1"
- android:versionName="1.0"
- >
- <uses-sdk android:minSdkVersion="4" />
- <application android:icon="@drawable/icon" android:label="@string/app_name" >
- <activity android:name=".Activity01
- android:label="@string/app_name">
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
- </application>
- </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 —— 如果设置为真的话,则将控件的内容在同一行当中进行显示
android:text —— 指定控件当中显示的文字,需要注意的是,这里尽量使用strings.xml文件当中的字符串
android:grivity —— 指定控件的基本位置,比如说居中,居右等位置
android:textSize —— 指定控件当中字体的大小
android:background —— 指定该控件所使用的背景色,RGB命名法
android:width —— 指定控件的宽度
android:height —— 指定控件的高度
android:padding* —— 指定控件的内边距,也就是说控件当中的内容
android:sigleLine —— 如果设置为真的话,则将控件的内容在同一行当中进行显示