2017-09-27 99 views
0

我正在尝试开发计算器应用程序并使用GridLayout来组织按钮。当屏幕尺寸大于5.5英寸时,它可以很好地工作,但是当我把它缩小到5.5英寸以下时,所有的按钮都会掉到外面,变得很奇怪。我重视main_activity的xml文件:Android Studio:当缩小屏幕尺寸时,按钮会移出屏幕

<?xml version="1.0" encoding="utf-8"?> 
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="@android:color/black" 
tools:context="com.example.songwei.calculator.MainActivity"> 

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/GridLayout1" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_marginBottom="8dp" 
    android:layout_marginLeft="8dp" 
    android:layout_marginRight="8dp" 
    android:layout_marginTop="8dp" 
    android:background="@android:color/black" 
    android:columnCount="4" 
    android:orientation="horizontal" 
    android:rowCount="6" 
    app:layout_constraintBottom_toBottomOf="parent" 
    app:layout_constraintLeft_toLeftOf="parent" 
    app:layout_constraintRight_toRightOf="parent" 
    app:layout_constraintTop_toTopOf="parent"> 

    <TextView 
     android:id="@+id/display" 
     android:layout_height="wrap_content" 
     android:layout_columnSpan="4" 
     android:layout_columnWeight="1" 
     android:layout_marginLeft="5dp" 

     android:layout_marginRight="5dp" 
     android:layout_rowWeight="1" 
     android:text="0" 
     android:textAlignment="viewEnd" 
     android:textColor="@android:color/white" 
     android:textSize="50sp" /> 


    <Button 
     android:id="@+id/btn_clear" 
     android:layout_columnWeight="1" 
     android:layout_rowWeight="1" 
     android:backgroundTint="@android:color/darker_gray" 
     android:text="AC" 
     android:textSize="30sp" /> 

    <Button 
     android:id="@+id/btn_root" 
     android:layout_columnWeight="1" 
     android:layout_rowWeight="1" 
     android:backgroundTint="@android:color/darker_gray" 
     android:text="√" 
     android:textSize="30sp" /> 

    <Button 
     android:id="@+id/btn_delete" 
     android:layout_columnWeight="1" 
     android:layout_rowWeight="1" 
     android:backgroundTint="@android:color/darker_gray" 
     android:text="del" 
     android:textSize="30sp" /> 

    <Button 
     android:id="@+id/btn_division" 
     android:layout_columnWeight="1" 
     android:layout_rowWeight="1" 
     android:backgroundTint="@android:color/holo_orange_light" 
     android:text="÷" 
     android:textColor="@android:color/white" 
     android:textSize="30sp" /> 

    <Button 
     android:id="@+id/btn_7" 
     android:layout_columnWeight="1" 

     android:layout_rowWeight="1" 
     android:backgroundTint="#696969" 
     android:text="7" 
     android:textColor="@android:color/white" 
     android:textSize="30sp" /> 

    <Button 
     android:id="@+id/btn_8" 
     android:layout_columnWeight="1" 

     android:layout_rowWeight="1" 
     android:backgroundTint="#696969" 
     android:text="8" 
     android:textColor="@android:color/white" 
     android:textSize="30sp" /> 

    <Button 
     android:id="@+id/btn_9" 
     android:layout_columnWeight="1" 

     android:layout_rowWeight="1" 
     android:backgroundTint="#696969" 
     android:text="9" 
     android:textColor="@android:color/white" 
     android:textSize="30sp" /> 

    <Button 
     android:id="@+id/btn_multiply" 
     android:layout_columnWeight="1" 

     android:layout_rowWeight="1" 
     android:backgroundTint="@android:color/holo_orange_light" 
     android:text="×" 
     android:textColor="@android:color/white" 
     android:textSize="30sp" /> 

    <Button 
     android:id="@+id/btn_4" 
     android:layout_columnWeight="1" 

     android:layout_rowWeight="1" 
     android:backgroundTint="#696969" 
     android:text="4" 
     android:textColor="@android:color/white" 
     android:textSize="30sp" /> 

    <Button 
     android:id="@+id/btn_5" 
     android:layout_columnWeight="1" 

     android:layout_rowWeight="1" 
     android:backgroundTint="#696969" 
     android:text="5" 
     android:textColor="@android:color/white" 
     android:textSize="30sp" /> 

    <Button 
     android:id="@+id/btn_6" 
     android:layout_columnWeight="1" 

     android:layout_rowWeight="1" 
     android:backgroundTint="#696969" 
     android:text="6" 
     android:textColor="@android:color/white" 
     android:textSize="30sp" /> 

    <Button 
     android:id="@+id/btn_subtraction" 
     android:layout_columnWeight="1" 

     android:layout_rowWeight="1" 
     android:backgroundTint="@android:color/holo_orange_light" 
     android:text="-" 
     android:textColor="@android:color/white" 
     android:textSize="30sp" /> 

    <Button 
     android:id="@+id/btn_3" 
     android:layout_columnWeight="1" 

     android:layout_rowWeight="1" 
     android:backgroundTint="#696969" 
     android:text="3" 
     android:textColor="@android:color/white" 
     android:textSize="30sp" /> 

    <Button 
     android:id="@+id/btn_2" 
     android:layout_columnWeight="1" 

     android:layout_rowWeight="1" 
     android:backgroundTint="#696969" 
     android:text="2" 
     android:textColor="@android:color/white" 
     android:textSize="30sp" /> 

    <Button 
     android:id="@+id/btn_1" 
     android:layout_columnWeight="1" 

     android:layout_rowWeight="1" 
     android:backgroundTint="#696969" 
     android:text="1" 
     android:textColor="@android:color/white" 
     android:textSize="30sp" /> 

    <Button 
     android:id="@+id/btn_add" 
     android:layout_columnWeight="1" 

     android:layout_rowWeight="1" 
     android:backgroundTint="@android:color/holo_orange_light" 
     android:text="+" 
     android:textColor="@android:color/white" 
     android:textSize="30sp" /> 

    <Button 
     android:id="@+id/btn_0" 
     android:layout_columnSpan="2" 
     android:layout_columnWeight="1" 
     android:layout_rowWeight="1" 

     android:backgroundTint="#696969" 
     android:text="0" 
     android:textColor="@android:color/white" 
     android:textSize="30sp" /> 

    <Button 
     android:id="@+id/btn_dot" 
     android:layout_columnWeight="1" 

     android:layout_rowWeight="1" 
     android:backgroundTint="#696969" 
     android:text="." 
     android:textColor="@android:color/white" 
     android:textSize="30sp" /> 

    <Button 
     android:id="@+id/btn_equal" 
     android:layout_columnWeight="1" 

     android:layout_rowWeight="1" 
     android:backgroundTint="@android:color/holo_orange_light" 
     android:text="=" 
     android:textColor="@android:color/white" 
     android:textSize="30sp" /> 


    </GridLayout> 

</android.support.constraint.ConstraintLayout> 

,什么是按钮的迷你尺寸,并没有影响?

回答

0

尝试使一个viewGroup中的每个按钮数(像LinearLayout水平或垂直)这取决于你的计算看起来像什么。 也使用(layout_weight)使视图大小取决于高度和宽度。

对不写代码抱歉。