2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > Android开发-将自定义View布局到Layout中并调用

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

时间:2022-09-20 06:19:40

相关推荐

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

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

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

自定义View:

[java]view plaincopy publicclassDrawViewextendsView{ //构造函数 publicDrawView(Contextcontext,AttributeSetattrs){ super(context,attrs); } @Override protectedvoidonDraw(Canvascanvas){ 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是公共类

[xhtml]view plaincopy <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是内部类

[c-sharp]view plaincopy <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

[xhtml]view plaincopy <?xmlversion="1.0"encoding="utf-8"?> <manifestxmlns:android="/apk/res/android" package="com.dev" android:versionCode="1" android:versionName="1.0" > <uses-sdkandroid:minSdkVersion="4"/> <applicationandroid:icon="@drawable/icon"android:label="@string/app_name"> <activityandroid:name=".Activity01 android:label="@string/app_name"> <intent-filter> <actionandroid:name="android.intent.action.MAIN"/> <categoryandroid: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 —— 如果设置为真的话,则将控件的内容在同一行当中进行显示

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。