在2.2下使用GridLayout 及GridLayout包下载

并不是在项目下面加入android-support-v7-gridlayout.jar
正确的使用方法如下:
在使用gridlayout中遇到

Caused by: java.lang.NoClassDefFoundError: android.support.v7.gridlayout.R$dimen

问题,网上很多人碰到,但是也没有找到解决方法。
无意中解决了该问题,特记录。
1.libs文件夹中添加android-support-v7-gridlayout.jar包;
2.eclipse中将android-sdk-windows\extras\android\compatibility\v7\gridlayout工程导入,并添加到需要使用gridlayout工程中,作为lib project处理
上面2个步骤缺一不可。
一开始只有上面的2个之一,一直报异常。

1 在SDK目录下的  \extras\android\support\v7下有 gridlayout 项目,是个library项目, 导入eclipse 稍微调试一下,就不报错了(附件就是)
2  在自己的项目上右键-->属性-->android-->library里面添加上面的项目
3  按照下面的demo使用就可以啦


<android.support.v7.gridlayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res/com.example.androidtest"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:alignmentMode="alignBounds"
    app:columnCount="3"
    app:columnOrderPreserved="false"
    app:rowCount="5"
    app:useDefaultMargins="true" >


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        app:layout_rowSpan="2"
        android:text="@string/hello_world" />


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        app:layout_rowSpan="1"
        android:text="@string/hello_world" />


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        app:layout_rowSpan="3"
        android:text="@string/hello_world" />


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        app:layout_rowSpan="1"
        android:text="@string/hello_world" />


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        app:layout_rowSpan="1"
        android:text="@string/hello_world" />

</android.support.v7.gridlayout>

下载:http://download.csdn.net/detail/irizhao/7691747 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,我之前的回答有些错误。以下是一个简单的Java Eclipse计算器的源代码,仅供参考: ```java import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Calculator extends JFrame { private static final long serialVersionUID = 1L; //创建文本框 JTextField text = new JTextField("0"); //定义计算器需要的变量 double number1 = 0.0; double number2 = 0.0; double result = 0.0; String operator = ""; boolean isFirstDigit = true; public static void main(String[] args) { Calculator calculator = new Calculator(); calculator.setVisible(true); } public Calculator() { super(); //设置窗口属性 setTitle("简易计算器"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(250, 300); setLocation(500, 200); //设置面板布局 JPanel panel = new JPanel(); panel.setLayout(new BorderLayout()); //将文本框添加到面板中 panel.add(text, BorderLayout.NORTH); //创建按钮 JButton btn0 = new JButton("0"); JButton btn1 = new JButton("1"); JButton btn2 = new JButton("2"); JButton btn3 = new JButton("3"); JButton btn4 = new JButton("4"); JButton btn5 = new JButton("5"); JButton btn6 = new JButton("6"); JButton btn7 = new JButton("7"); JButton btn8 = new JButton("8"); JButton btn9 = new JButton("9"); JButton btnAdd = new JButton("+"); JButton btnSub = new JButton("-"); JButton btnMul = new JButton("*"); JButton btnDiv = new JButton("/"); JButton btnEq = new JButton("="); JButton btnClear = new JButton("MC"); //创建一个监听器 ActionListener listener = new ActionListener() { public void actionPerformed(ActionEvent e) { String command = e.getActionCommand(); if (isFirstDigit) { text.setText(""); isFirstDigit = false; } text.setText(text.getText() + command); } }; //给数字按钮添加监听器 btn0.addActionListener(listener); btn1.addActionListener(listener); btn2.addActionListener(listener); btn3.addActionListener(listener); btn4.addActionListener(listener); btn5.addActionListener(listener); btn6.addActionListener(listener); btn7.addActionListener(listener); btn8.addActionListener(listener); btn9.addActionListener(listener); //给操作符按钮添加监听器 ActionListener operatorListener = new ActionListener() { public void actionPerformed(ActionEvent e) { operator = e.getActionCommand(); number1 = Double.parseDouble(text.getText()); isFirstDigit = true; } }; btnAdd.addActionListener(operatorListener); btnSub.addActionListener(operatorListener); btnMul.addActionListener(operatorListener); btnDiv.addActionListener(operatorListener); //给“=”按钮添加监听器 btnEq.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { number2 = Double.parseDouble(text.getText()); switch (operator) { case "+": result = number1 + number2; break; case "-": result = number1 - number2; break; case "*": result = number1 * number2; break; case "/": result = number1 / number2; break; } text.setText(String.valueOf(result)); isFirstDigit = true; } }); //给“MC”按钮添加监听器 btnClear.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { text.setText("0"); isFirstDigit = true; } }); //创建面板,将按钮添加到面板中 JPanel buttonPanel = new JPanel(); buttonPanel.setLayout(new GridLayout(4, 4)); buttonPanel.add(btn7); buttonPanel.add(btn8); buttonPanel.add(btn9); buttonPanel.add(btnDiv); buttonPanel.add(btn4); buttonPanel.add(btn5); buttonPanel.add(btn6); buttonPanel.add(btnMul); buttonPanel.add(btn1); buttonPanel.add(btn2); buttonPanel.add(btn3); buttonPanel.add(btnSub); buttonPanel.add(btn0); buttonPanel.add(btnClear); buttonPanel.add(btnEq); buttonPanel.add(btnAdd); //将面板添加到主面板中 panel.add(buttonPanel, BorderLayout.CENTER); //将主面板添加到窗口中 this.setContentPane(panel); } } ``` 希望这个源代码对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值