package com.aruis.android.androidhomework1 import android.app.activity import android.graphics.color import android.os.bundle import android.util.displaymetrics import android.util.typedvalue import android.view.view import android.view.viewgroup import android.widget.linearlayout import android.widget.linearlayout.layoutparams import android.widget.textview public class mainactivity extends activity { textview textview; list buttoncontents = [ [e.ac, e.pn, e.per, e.divide], [e.seven, e.eight, e.nine, e.multiply], [e.four, e.five, e.six, e.minus], [e.one, e.two, e.three, e.plus], [e.zero, e.point, e.equal] ] list buttonlist = []; long zeros = 1000000000000000 long zeros00 = zeros * 100 @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); this.setcontentview(r.layout.activity_main) displaymetrics dm = new displaymetrics() getwindowmanager().getdefaultdisplay().getmetrics(dm) layoutparams linearlayoutparams = new layoutparams(layoutparams.match_parent, 0, 1) layoutparams layoutparams_zero = new layoutparams(0, layoutparams.match_parent, 2) layoutparams layoutparams = new layoutparams(0, layoutparams.match_parent, 1) textview = findviewbyid(r.id.textview) text = '0' int i = 0 buttoncontents.each { linearlayout _layout = new linearlayout(this); _layout.orientation = linearlayout.horizontal _layout.layoutparams = linearlayoutparams int j = 0 it.each { e -> mybutton btn = new mybutton(this, e); btn.layoutparams = e == e.zero ? layoutparams_zero : layoutparams btn.textsize = typedvalue.applydimension(typedvalue.complex_unit_sp, 20, dm) if (j == 3 || (i == 4 && j == 2)) { btn.backgroundresource = r.drawable.button_style_right btn.textcolor = color.white } else if (i == 0) { btn.backgroundresource = r.drawable.button_style_top } else { btn.backgroundresource = r.drawable.button_style } btn.setonclicklistener(clicklistener) buttonlist.add(btn) _layout.addview(btn) j } viewgroup contentparent = (viewgroup) findviewbyid(16908290); //可以取得 activity_main.xml指定的布局 linearlayout _view = contentparent.getchildat(0) _view.addview(_layout) i } } /** * 计算功能未实现 */ view.onclicklistener clicklistener = new view.onclicklistener() { @override void onclick(view view) { e data = view.data; switch (data) { case e.ac: text = '0' break case e.pn: if (text.indexof('-') == 0) text = text.substring(1) else text = '-' text break case e.per: text = text != '0' ? (text.tofloat() * zeros) / zeros00 : '0'//逻辑尚有bug break case e.point: if (text.indexof('.') > -1) break; case (e.point..e.nine): if (text == '0' && data.tostring() != '.') text = data.tostring() else text = data.tostring() break } } } def settext(string s) { textview.text = s } string gettext() { return textview.text } }
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字

上传中....