按钮的宽度不一样

时间:2017-01-06 21:17:22

标签: android android-studio button layout android-linearlayout

嗯,为了快点,我需要制作简单的计算器而我不能使它们大小相同。 Android工作室向我显示按钮应该以相同的大小居中,但当我尝试在手机上运行它时会发生这种情况。Phone screenshot Android Studio向我展示了这一点:Android studio screenshot

有代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:screenOrientation="portrait"
    tools:context="com.example.kuba1.kalkulator.MainActivity"
    android:orientation="vertical">

<TextView
    android:layout_width="fill_parent"
    android:layout_height="82dp"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:text="0"
    android:id="@+id/textView"
    android:numeric="signed"
    android:padding="10dp"
    android:textAlignment="viewEnd" />

<LinearLayout
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="HEX"
            android:onClick="hex"/>

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="DEC"
            android:id="@+id/button2"
            android:onClick="dec"/>

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="OCT"
            android:id="@+id/button3"
            android:onClick="oct"/>

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="BIN"
            android:id="@+id/button4"
            android:onClick="bin" />
    </LinearLayout>

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="sqrt"
            android:id="@+id/button5"
            android:onClick="sqrt"/>

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="sin"
            android:id="@+id/button9"
            android:onClick="sin"/>

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="cos"
            android:id="@+id/button13"
            android:onClick="cos"/>

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="tan"
            android:id="@+id/button17"
            android:onClick="tan"/>
    </LinearLayout>

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="7"
            android:id="@+id/button6"
            android:onClick="siedem"/>

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="8"
            android:id="@+id/button10"
            android:onClick="osiem"/>

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="9"
            android:id="@+id/button14"
            android:onClick="dziewiec"/>

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="/"
            android:id="@+id/button18"
            android:onClick="dziel"/>
    </LinearLayout>

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="4"
            android:id="@+id/button7"
            android:onClick="cztery"/>

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="5"
            android:id="@+id/button11"
            android:onClick="piec"/>

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="6"
            android:id="@+id/button15"
            android:onClick="szesc"/>

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="*"
            android:id="@+id/button19"
            android:onClick="mnoz"/>
    </LinearLayout>

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="3"
            android:id="@+id/button16"
            android:onClick="trzy"/>

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="1"
            android:id="@+id/button8"
            android:onClick="jeden"/>

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="2"
            android:id="@+id/button12"
            android:onClick="dwa"/>

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="-"
            android:id="@+id/button20"
            android:onClick="minus"/>
    </LinearLayout>

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center" >

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=","
            android:id="@+id/button22"
            android:onClick="przecinek" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="0"
            android:id="@+id/button23"
            android:onClick="zero" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="="
            android:id="@+id/button24"
            android:onClick="rowna" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="+"
            android:id="@+id/button25"
            android:onClick="plus" />
    </LinearLayout>

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center" >

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Reset"
            android:id="@+id/button21"
            android:onClick="reset" />
    </LinearLayout>

</LinearLayout>

如果有什么不清楚,请告诉我,这是我在这个网站上的第一篇文章:P

1 个答案:

答案 0 :(得分:1)

欢迎使用Stack Overflow。

Android Studio显示为一个特定屏幕计算的布局(默认情况下为Nexus 4)。有许多不同的屏幕和不同的尺寸,因此它们与您的手机不匹配。

您可以使用layout_weight属性inisde LinearLayout。如果你使用相同的weigth制作所有4个项目(让我们说1),他们将占用相同的空间。