2017-09-27 2 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)를 사용하여 높이 및 너비에 따라보기의 크기를 변경합니다.

죄송합니다. 코드를 작성하지 않았습니다.

관련 문제