下面是编程之家 jb51.cc 通过网络收集整理的代码片段。
编程之家小编现在分享给大家,也给大家做个参考。
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,1) LayoutParams layoutParams_zero = new LayoutParams(0,LayoutParams.MATCH_PARENT,2) LayoutParams layoutParams = new LayoutParams(0,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 } }
以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。