如何使用LinearLayout制作一个网格形状?

huangapple go评论70阅读模式
英文:

How to make a grid shape using Linearlayout?

问题

我正在制作一个简单的计算应用程序。我正在使用 Material Design 的按钮。但是数字之间有一个间隙。我尝试了 Grid Layout,但是同样的情况仍然发生。当我切换到底部的 LinearLayout 时,会出现一个间隙。我该如何解决这个问题?

以下是你提供的布局代码中的样式:

<style name="NumberButtonStyle">
    <item name="android:layout_width">0dp</item>
    <item name="android:layout_height">match_parent</item>
    <item name="android:layout_weight">1</item>
    <item name="android:backgroundTint">@color/numberButton</item>
    <item name="android:textSize">28sp</item>
    <item name="android:textColor">@color/numbertextcolor</item>
    <item name="android:gravity">center</item>
    <item name="android:layout_margin">0.5dp</item>
</style>

请注意,这段代码是按钮样式的定义,其中 android:layout_margin 属性设置了按钮的外边距,可能是导致数字之间出现间隙的原因之一。如果你想要减小或移除数字之间的间隙,你可以尝试将 android:layout_margin 的值调整为更小的值,甚至是 0,以看看是否能够解决问题。

希望这能帮助你解决问题。如果还有其他问题,请随时提问。

英文:

I'm doing a simple calculation application. I'm using the Material Design Button. But there is a gap between the numbers.I tried Grid Layout and the same thing is happening.A gap is created when I switch to the bottom LinearLayout. How can I solve this?

如何使用LinearLayout制作一个网格形状?

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal">
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_7"
style="@style/NumberButtonStyle"
android:text="@string/_7"/>
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_8"
style="@style/NumberButtonStyle"
android:text="@string/_8"/>
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_9"
style="@style/NumberButtonStyle"
android:text="@string/_9"/>
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_AC"
style="@style/ActionButtonStyle"
android:text="@string/ac"/>
</LinearLayout>

      &lt;LinearLayout
        android:layout_width=&quot;match_parent&quot;
        android:layout_height=&quot;0dp&quot;
        android:layout_weight=&quot;1&quot;
        android:orientation=&quot;horizontal&quot;&gt;

        &lt;com.google.android.material.button.MaterialButton
            android:id=&quot;@+id/btn_4&quot;
            style=&quot;@style/NumberButtonStyle&quot;
            android:text=&quot;@string/_4&quot;/&gt;
        &lt;com.google.android.material.button.MaterialButton
            android:id=&quot;@+id/btn_5&quot;
            style=&quot;@style/NumberButtonStyle&quot;
            android:text=&quot;@string/_5&quot;/&gt;
        &lt;com.google.android.material.button.MaterialButton
            android:id=&quot;@+id/btn_6&quot;
            style=&quot;@style/NumberButtonStyle&quot;
            android:text=&quot;@string/_6&quot;/&gt;
        &lt;com.google.android.material.button.MaterialButton
            android:id=&quot;@+id/btn_back&quot;
            style=&quot;@style/ActionButtonStyle&quot;
            app:icon=&quot;@drawable/backspace&quot;
            app:iconGravity=&quot;textEnd&quot;
            app:iconSize=&quot;30dp&quot;/&gt;
    &lt;/LinearLayout&gt;

    &lt;LinearLayout
        android:layout_width=&quot;match_parent&quot;
        android:layout_height=&quot;0dp&quot;
        android:layout_weight=&quot;1&quot;
        android:orientation=&quot;horizontal&quot;&gt;

        &lt;com.google.android.material.button.MaterialButton
            android:id=&quot;@+id/btn_1&quot;
            style=&quot;@style/NumberButtonStyle&quot;
            android:text=&quot;@string/_1&quot;&gt;
        &lt;com.google.android.material.button.MaterialButton
            android:id=&quot;@+id/btn_2&quot;
            style=&quot;@style/NumberButtonStyle&quot;
            android:text=&quot;@string/_2&quot;/&gt;
        &lt;com.google.android.material.button.MaterialButton
            android:id=&quot;@+id/btn_3&quot;
            style=&quot;@style/NumberButtonStyle&quot;
            android:text=&quot;@string/_3&quot;/&gt;
        &lt;com.google.android.material.button.MaterialButton
            android:id=&quot;@+id/btn_enter&quot;
            style=&quot;@style/ActionButtonStyle&quot;
            app:icon=&quot;@drawable/enter&quot;
            app:iconGravity=&quot;textEnd&quot;
            app:iconSize=&quot;30dp&quot;/&gt;
    &lt;/LinearLayout&gt;

    &lt;LinearLayout
        android:layout_width=&quot;match_parent&quot;
        android:layout_height=&quot;0dp&quot;
        android:layout_weight=&quot;1&quot;
        android:orientation=&quot;horizontal&quot;&gt;
        &lt;com.google.android.material.button.MaterialButton
            android:id=&quot;@+id/btn_.&quot;
            style=&quot;@style/NumberButtonStyle&quot;
            android:text=&quot;@string/_.&quot;/&gt;
        &lt;com.google.android.material.button.MaterialButton
            android:id=&quot;@+id/btn_0&quot;
            style=&quot;@style/NumberButtonStyle&quot;
            android:text=&quot;@string/_0&quot;/&gt;
        &lt;com.google.android.material.button.MaterialButton
            android:id=&quot;@+id/btn_left&quot;
            style=&quot;@style/NumberButtonStyle&quot;
            app:icon=&quot;@drawable/left&quot;
            app:iconGravity=&quot;textEnd&quot;
            app:iconSize=&quot;30dp&quot;/&gt;
        &lt;com.google.android.material.button.MaterialButton
            android:id=&quot;@+id/btn_right&quot;
            style=&quot;@style/NumberButtonStyle&quot;
            app:icon=&quot;@drawable/right&quot;
            app:iconGravity=&quot;textEnd&quot;
            app:iconSize=&quot;30dp&quot;/&gt;
    &lt;/LinearLayout&gt;
    &lt;com.google.android.gms.ads.AdView
        android:id=&quot;@+id/adView&quot;
        android:layout_width=&quot;match_parent&quot;
        android:layout_height=&quot;wrap_content&quot;
        ads:adSize=&quot;FULL_BANNER&quot;
        ads:adUnitId=&quot;ca-app-pub-3101578796185185/6606345805&quot;&gt;
    &lt;/com.google.android.gms.ads.AdView&gt;
&lt;/LinearLayout&gt;

Here is the style.xml I use for the buttons.

&lt;style name=&quot;NumberButtonStyle&quot;&gt;
    &lt;item name=&quot;android:layout_width&quot;&gt;0dp&lt;/item&gt;
    &lt;item name=&quot;android:layout_height&quot;&gt;match_parent&lt;/item&gt;
    &lt;item name=&quot;android:layout_weight&quot;&gt;1&lt;/item&gt;
    &lt;item name=&quot;android:backgroundTint&quot;&gt;@color/numberButton&lt;/item&gt;
    &lt;item name=&quot;android:textSize&quot;&gt;28sp&lt;/item&gt;
    &lt;item name=&quot;android:textColor&quot;&gt;@color/numbertextcolor&lt;/item&gt;
    &lt;item name=&quot;android:gravity&quot;&gt;center&lt;/item&gt;
    &lt;item name=&quot;android:layout_margin&quot;&gt;0.5dp&lt;/item&gt;

&lt;/style&gt;

答案1

得分: 1

Sure, here's the translated code:

<item name="android:insetTop">0dp</item>
<item name="android:insetBottom">0dp</item>

this code worked for me.DOne

英文:
&lt;item name=&quot;android:insetTop&quot;&gt;0dp&lt;/item&gt;
&lt;item name=&quot;android:insetBottom&quot;&gt;0dp&lt;/item&gt;

this code worked for me.DOne

huangapple
  • 本文由 发表于 2020年9月26日 20:51:54
  • 转载请务必保留本文链接:https://go.coder-hub.com/64077902.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定