布局这样实现等间距

xiaoxixi2014 2014-11-03 12:32:31
就是说,一个布局里有两个button 这样实现在任何手机上都显示两button之间和他们与屏幕边缘的距离是相等的
...全文
327 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
s_wenze 2014-11-07
  • 打赏
  • 举报
回复
引用 7 楼 xiaoxixi2014 的回复:
[quote=引用 5 楼 s715575807 的回复:]

<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:orientation="horizontal" >

    <Button
        android:id="@+id/download"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="16dp"
        android:layout_marginRight="8dp"
        android:layout_weight="1"
        android:text="button1" />

    <Button
        android:id="@+id/tv"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="8dp"
        android:layout_marginRight="16dp"
        android:layout_weight="1"
        android:text="button2" />

</LinearLayout>
不能写死的,在不同手机屏幕大小上肯定会很不好看的[/quote]
引用 7 楼 xiaoxixi2014 的回复:
[quote=引用 5 楼 s715575807 的回复:]

<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:orientation="horizontal" >

    <Button
        android:id="@+id/download"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="16dp"
        android:layout_marginRight="8dp"
        android:layout_weight="1"
        android:text="button1" />

    <Button
        android:id="@+id/tv"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="8dp"
        android:layout_marginRight="16dp"
        android:layout_weight="1"
        android:text="button2" />

</LinearLayout>
不能写死的,在不同手机屏幕大小上肯定会很不好看的[/quote] 这只是个例子,你可以获取屏幕大小在代码设置margin啊只要中间margin是两侧的1/2即可
xiaoxixi2014 2014-11-07
  • 打赏
  • 举报
回复
引用 5 楼 s715575807 的回复:

<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:orientation="horizontal" >

    <Button
        android:id="@+id/download"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="16dp"
        android:layout_marginRight="8dp"
        android:layout_weight="1"
        android:text="button1" />

    <Button
        android:id="@+id/tv"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="8dp"
        android:layout_marginRight="16dp"
        android:layout_weight="1"
        android:text="button2" />

</LinearLayout>
不能写死的,在不同手机屏幕大小上肯定会很不好看的
xiaoxixi2014 2014-11-04
  • 打赏
  • 举报
回复
引用 1 楼 jiaqiangm 的回复:
不太明白你的意思。是不是说两个button在哪里都是和屏幕边缘间隔同样的距离?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button" />

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

</LinearLayout>
就是这样两个button,这样让他们在任何手机上水平方向,三个间距是相等(button1与左边屏幕边缘的距离、button1与button2的距离,button2与右边屏幕边缘的距离)
s_wenze 2014-11-04
  • 打赏
  • 举报
回复

<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:orientation="horizontal" >

    <Button
        android:id="@+id/download"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="16dp"
        android:layout_marginRight="8dp"
        android:layout_weight="1"
        android:text="button1" />

    <Button
        android:id="@+id/tv"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="8dp"
        android:layout_marginRight="16dp"
        android:layout_weight="1"
        android:text="button2" />

</LinearLayout>
云伊漫天 2014-11-04
  • 打赏
  • 举报
回复
可以通过代码布局去实现
imfang 2014-11-03
  • 打赏
  • 举报
回复

    <LinearLayout style="@style/ll" >

        <Button
            android:id="@+id/sin"
            style="@style/math"
            android:text="sin" >
        </Button>

        <Button
            android:id="@+id/cos"
            style="@style/math"
            android:text="cos" >
        </Button>

        <Button
            android:id="@+id/tan"
            style="@style/math"
            android:text="tan" >
        </Button>

        <Button
            style="@style/func"
            android:text="ln" >
        </Button>

        <Button
            style="@style/func"
            android:text="log" >
        </Button>

        <Button
            style="@style/op"
            android:text="pow" >
        </Button>
    </LinearLayout>
style.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="ll">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">0dp</item>
        <item name="android:layout_weight">1</item>
        <item name="android:orientation">horizontal</item>
        <item name="android:paddingTop">0dp</item>
    </style>
    
    <style name="button">
        <item name="android:layout_width">0sp</item>
        <item name="android:layout_height">match_parent</item>
        <item name="android:layout_margin">2dp</item>
        <item name="android:layout_weight">1</item>
        <item name="android:background">@layout/button</item>
        <item name="android:textColor">#ffffff</item>
        <item name="android:textStyle">bold</item>
        <item name="android:textSize">20sp</item>
        </style>

    <style name="num" parent="@style/button">
        <item name="android:textColor">#ffff00</item>
        <item name="android:onClick">Nums_Click</item>
        
    </style>

    <style name="op" parent="@style/button">
        <item name="android:onClick">Operator_Click</item>
    </style>

    <style name="AC" parent="@style/button">
        <item name="android:background">@layout/button2</item>
    </style>

    <style name="func" parent="@style/button">
        <item name="android:onClick">Function_Click</item>
    </style>
    
    <style name="math" parent="@style/func">
        <item name="android:textColor">#ffff00</item>
    </style>
</resources>
s_wenze 2014-11-03
  • 打赏
  • 举报
回复
试试layout_weight+margin,先让两button占据的空间相等,再根据具体需求微调间距
黄小楼 2014-11-03
  • 打赏
  • 举报
回复
不太明白你的意思。是不是说两个button在哪里都是和屏幕边缘间隔同样的距离?

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧