【问题标题】:Buttons are not the same width按钮宽度不一样
【发布时间】:2017-01-06 21:17:22
【问题描述】:

好吧,为了快点,我需要做一个简单的计算器,但我不能让它们的大小相同。 Android Studio 向我展示了按钮应该以相同大小居中,但是当我尝试在手机上运行它时会发生这种情况。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

【问题讨论】:

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


    【解决方案1】:

    欢迎来到 Stack Overflow。

    Android Studio 显示为一个特定屏幕(默认为 Nexus 4)计算的布局。屏幕种类繁多,分辨率大小不一,不适合你的手机。

    您可以使用layout_weight 属性inisde LinearLayout。如果您使用相同的weigth(假设为 1)制作所有 4 个项目,它们将占用相同的空间。

    【讨论】:

      猜你喜欢
      • 2012-08-09
      • 1970-01-01
      • 2016-08-11
      • 1970-01-01
      • 2021-09-26
      • 2013-04-17
      • 2017-04-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多