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字
上传中....