VB开发安卓程序_例程11带纵向滚动条的记事本


运行截图

资源文件里面的这个主事本文档必须用utf8编码保存,安卓环境的资料是用utf8编码的 


布局文件中添加两个控件

B4A提供的编辑框控件,没有带纵向滚动条,需要开发者自己添加。Main窗体代码如下


#Region Module Attributes
	#FullScreen: False
	#IncludeTitle: True
	#ApplicationLabel: 带纵向滚动条的记事本
	#VersionCode: 1
	#VersionName: 
	#SupportedOrientations: unspecified
	#CanInstallToExternalStorage: True
#End Region

Sub Process_Globals

End Sub


Sub Globals   
	
	Dim txt As String 
	Dim StrUtil As StringUtils  '定义一个字符串实用工具集变量

	'下面两个控件添加在布局文件
	Dim edtText As EditText		'定义一个编辑框控件
	Dim scvText As ScrollView	'定义一个滚动控件
	
End Sub

Sub Activity_Create(FirstTime As Boolean)
 
 	'这个例程将用加载布局文件的形式来实现
	'先创建一个名为"balMain"的布局文件
	'布局文件上面放一个名为scvText的滚动控件和名为edtText的编辑框控件
	'不要在设计器是中的Main版面中修改这两个控件的属性
	Activity.LoadLayout("balMain")
	
	'若不对这个编辑框控件进行初始化,竟然会造成接下来的方法scvText.Panel.AddView执行失败
	'不对编辑框控件初始化而造成程序无法运行,这个问题困惑我很久了,花了很多时间才发现这个问题
	edtText.Initialize("")

	'让这个滚动控件在软件界面中实现全屏
	scvText.Left=0
	scvText.Top=0
	scvText.Width=100%x
	scvText.Height=100%y	
	
	
	'将编辑框控件直接加到滚动视图中
	scvText.Panel.AddView(edtText, 0, 0 ,100%x, 100%y)
	
	'编辑框控件的背景色
	edtText.Color = Colors.RGB(250, 250, 210)		
	
	'编辑框控件的文本颜色
	edtText.TextColor = Colors.Black								
	
	LoadText '调用函数填充编辑框控件的文本属性
	SetText	 '调用函数								
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub LoadText

	'方法 GetText 将读取B4A代码区右侧的文件选项夹中的文件"text1.txt"的数据
	'File.DirAssets其实就是指向这个例程源码所在路径的Files文件
	'text1.txt 文件是一个记事本文件,里面全是文字
	txt = File.GetText(File.DirAssets, "text1.txt")	
	
'	这句代码是错误的 Dim Data As Byte[]
    Dim Data() As Byte 
	Data = txt.GetBytes("UTF8")
	
	'要在安卓手机上显示汉字就必须用UTF8编码
	txt =BytesToString (  Data,0, Data.Length, "UTF8")
	
	
End Sub

Sub SetText

	Dim ht As Float
	
	'text1.txt 文件的内容在编辑框上显示
	edtText.Text = txt	
	
	'MeasureMultilineTextHeight方法用于 计算多行文本高度
    '返回MeasureMultilineTextHeight 参数中给定编辑框的文本高度
    'MeasureMultilineTextHeight方法共有两个参数,第一参数是编辑框控件名,第二个参数是编辑框控件上显示的文本
	ht = 	StrUtil.MeasureMultilineTextHeight(edtText, txt)
	
	'设置滚动控件面板属性的高度
	scvText.Panel.Height = ht		

    '设置编辑框控件的高度,要实现滚动控件上的编辑框右边有纵向滚动条,一定要确保编辑框和滚动控件一样的高度
	edtText.Height = ht			

    'ScrollPosition 属性用于获得或设定滚动位置,这是一个可读写的属性
    '下面的代码将滚动条滚动到最顶,即显示编辑框控件最前面的文本内容
	scvText.ScrollPosition = 0	


									
End Sub

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值