Android计算器布局

Android(安桌)计算器布局实现

        ——解决整个屏幕方案

引言:

    学完了android布局的几种方式,做了一个android计算器。

    我在网上搜索了这方面的资料,发现了布局都有问题,没有充满整个屏幕,只是占了一个部分。

    老师的建议是:设置字体的大小是关键。但是在我设置好字体大小问题,解决屏幕问题后,发现字体居然没有居中。在靠着水平线的左边。而后使用android:gravity的这个属性,没有改变。但是后来发现,使用的TableLayout好像没有这个属性,嵌套使用了一个Layout,才解决了这个问题。

    

实现效果如下:


LayOut中的xml文件代码如下:

  1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2     android:layout_width="fill_parent"
  3     android:layout_height="fill_parent"
  4     android:orientation="vertical" >
  5     
  6     <TextView
  7         android:id="@+id/writerinfo"
  8         android:layout_width="fill_parent"
  9         android:layout_height="wrap_content"
 10         android:layout_marginTop="5dp"
 11         android:textSize="@dimen/textviewsize"
 12         android:gravity="center_horizontal"
 13         android:text="@string/writer" />
 14     
 15     <TextView
 16         android:id="@+id/input"
 17         android:layout_width="fill_parent"
 18         android:layout_height="wrap_content"
 19         android:layout_marginTop="5dp"
 20         android:textSize="@dimen/textviewsize"
 21         android:text="@string/inputhint" />
 22 
 23     <TextView
 24         android:id="@+id/textView2"
 25         android:layout_width="fill_parent"
 26         android:layout_height="wrap_content"
 27         android:layout_marginTop="5dp"
 28         android:textSize="@dimen/textviewsize"
 29         android:text="@string/resulthint" />
 30 
 31     <TableLayout
 32         android:layout_width="fill_parent"
 33         android:layout_height="wrap_content" 
 34         android:stretchColumns="0,1,2,3"
 35         >
 36 
 37         <TableRow
 38             android:id="@+id/tableRow1"
 39             android:layout_width="fill_parent"
 40             android:layout_height="wrap_content" >
 41 
 42             <Button
 43                 android:id="@+id/num7"
 44                 android:layout_width="fill_parent"
 45                 android:layout_height="wrap_content"
 46                 android:textSize="@dimen/buttonsize"
 47                 android:text="7" />
 48 
 49             <Button
 50                 android:id="@+id/num8"
 51                 android:layout_width="fill_parent"
 52                 android:layout_height="wrap_content"
 53                  android:textSize="@dimen/buttonsize"
 54                 android:text="8" />
 55 
 56             <Button
 57                 android:id="@+id/num9"
 58                 android:layout_width="fill_parent"
 59                 android:layout_height="wrap_content"
 60                  android:textSize="@dimen/buttonsize"
 61                 android:text="9" />
 62 
 63             <Button
 64                 android:id="@+id/divide"
 65                 android:layout_width="fill_parent"
 66                 android:layout_height="wrap_content"
 67                 android:textSize="@dimen/buttonsize"
 68                 android:text="/" />
 69             
 70         </TableRow>
 71 
 72         <TableRow
 73             android:id="@+id/tableRow2"
 74             android:layout_width="fill_parent"
 75             android:layout_height="wrap_content" >
 76 
 77             <Button
 78                 android:id="@+id/num4"
 79                 android:layout_width="wrap_content"
 80                 android:layout_height="wrap_content"
 81                  android:textSize="@dimen/buttonsize"
 82                 android:text="4" />
 83 
 84             <Button
 85                 android:id="@+id/num5"
 86                 android:layout_width="wrap_content"
 87                 android:layout_height="wrap_content"
 88                  android:textSize="@dimen/buttonsize"
 89                 android:text="5" />
 90 
 91             <Button
 92                 android:id="@+id/num6"
 93                 android:layout_width="wrap_content"
 94                 android:layout_height="wrap_content"
 95                  android:textSize="@dimen/buttonsize"
 96                 android:text="6" />
 97             
 98             <Button
 99                 android:id="@+id/ride"
100                 android:layout_width="wrap_content"
101                 android:layout_height="wrap_content"
102                  android:textSize="@dimen/buttonsize"
103                 android:text="*" />
104 
105         </TableRow>
106 
107         <TableRow
108             android:id="@+id/tableRow3"
109             android:layout_width="fill_parent"
110             android:layout_height="wrap_content" >
111                 
112             <Button
113                 android:id="@+id/num1"
114                 android:layout_width="wrap_content"
115                 android:layout_height="wrap_content"
116                  android:textSize="@dimen/buttonsize"
117                 android:text="1" />
118 
119             <Button
120                 android:id="@+id/num2"
121                 android:layout_width="wrap_content"
122                 android:layout_height="wrap_content"
123                  android:textSize="@dimen/buttonsize"
124                 android:text="2" />
125 
126             <Button
127                 android:id="@+id/button11"
128                 android:layout_width="wrap_content"
129                 android:layout_height="wrap_content"
130                  android:textSize="@dimen/buttonsize"
131                 android:text="3" />
132 
133             <Button
134                 android:id="@+id/sub"
135                 android:layout_width="wrap_content"
136                 android:layout_height="wrap_content"
137                  android:textSize="@dimen/buttonsize"
138                 android:text="-" />
139 
140         </TableRow>
141 
142         <TableRow
143             android:id="@+id/tableRow4"
144             android:layout_width="fill_parent"
145             android:layout_height="wrap_content" >
146 
147             <Button
148                 android:id="@+id/num0"
149                 android:layout_width="wrap_content"
150                 android:layout_height="wrap_content"
151                  android:textSize="@dimen/buttonsize"
152                 android:text="0" />
153 
154             <Button
155                 android:id="@+id/point"
156                 android:layout_width="wrap_content"
157                 android:layout_height="wrap_content"
158                  android:textSize="@dimen/buttonsize"
159                 android:text="." />
160 
161             <Button
162                 android:id="@+id/add"
163                 android:layout_width="wrap_content"
164                 android:layout_height="wrap_content"
165                  android:textSize="@dimen/buttonsize"
166                 android:text="+" />
167 
168             <Button
169                 android:id="@+id/equal"
170                 android:layout_width="wrap_content"
171                 android:layout_height="wrap_content"
172                  android:textSize="@dimen/buttonsize"
173                 android:text="=" />
174 
175         </TableRow>
176     </TableLayout>
177     <Button
178                 android:id="@+id/clean"
179                 android:layout_width="fill_parent"
180                 android:layout_height="fill_parent"
181                  android:textSize="@dimen/buttonsize"
182                 android:text="clean" />
183     
184 </LinearLayout>
View Code
<dimen name="textviewsize">25sp</dimen>
<dimen name="buttonsize">45dp</dimen>

注:如果读者在复制时没有铺满整个屏幕,请更改

  dimens文件中要添加的两个参数。

原文地址:https://www.cnblogs.com/orangebook/p/3516653.html