gpt4 book ai didi

android - Metro 布局对齐底部

转载 作者:行者123 更新时间:2023-11-30 02:34:30 26 4
gpt4 key购买 nike

我正在为 android 设计一个类似都市风格的布局,但我似乎可以让它在所有设备上都一样工作。在 Galaxy Note3 上它没有与底部对齐(按钮之间的间隙太大),而在较小的屏幕 Galaxy Ace2 上它太拥挤了(一些按钮彼此相邻)

这是我的布局,任何有关如何使其通用的想法都很棒!提前致谢

<?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="vertical"
android:background="@drawable/bg_login" >

<ImageView
android:id="@+id/icon_photo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:src="@drawable/logo_white" />

<Button
android:id="@+id/btn_feed"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="@drawable/gradient_feed"
android:drawableTop="@drawable/feed"
android:gravity="center|center_vertical"
android:padding="10dp"
android:text="Feed"
android:textColor="@color/white"
android:textSize="10dip" />

<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" >

<Button
android:id="@+id/btn_profile"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:background="@drawable/gradient_profile"
android:drawableTop="@drawable/profile"
android:gravity="center|center_vertical"
android:padding="10dp"
android:text="Profile"
android:textColor="@color/white"
android:textSize="10dip"
android:layout_weight="1.00" />

<Button
android:id="@+id/btn_new_challenge"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:background="@drawable/gradient_new_challenge"
android:drawableTop="@drawable/new_challenge"
android:gravity="center|center_vertical"
android:padding="10dp"
android:text="New Challenge"
android:textColor="@color/white"
android:textSize="10dip"
android:layout_weight="1.00" />

<Button
android:id="@+id/btn_rankings"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:background="@drawable/gradient_rankings"
android:drawableTop="@drawable/rankings"
android:gravity="center|center_vertical"
android:padding="10dp"
android:text="Rankings"
android:textColor="@color/white"
android:textSize="10dip"
android:layout_weight="1.00" />
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" >

<Button
android:id="@+id/btn_factory"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:background="@drawable/gradient_factory"
android:drawableTop="@drawable/task_factory"
android:gravity="center|center_vertical"
android:padding="10dp"
android:text="Task Factory"
android:textColor="@color/white"
android:textSize="10dip"
android:layout_weight="1.00" />

<Button
android:id="@+id/btn_settings"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:background="@drawable/gradient_settings"
android:drawableTop="@drawable/settings"
android:gravity="center|center_vertical"
android:padding="10dp"
android:text="Settings"
android:textColor="@color/white"
android:textSize="10dip"
android:layout_weight="1.00" />

<Button
android:id="@+id/btn_gadgets"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:background="@drawable/gradient_gadgets"
android:drawableTop="@drawable/gadgets"
android:gravity="center|center_vertical"
android:padding="10dp"
android:text="Gadgets"
android:textColor="@color/white"
android:textSize="10dip"
android:layout_weight="1.00" />
</LinearLayout>

<Button
android:id="@+id/btn_store"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="10dp"
android:background="@drawable/gradient_store"
android:drawableTop="@drawable/store"
android:gravity="center|center_vertical"
android:padding="10dp"
android:text="Store"
android:textColor="@color/white"
android:textSize="10dip" />

<Button
android:id="@+id/btn_help"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="10dp"
android:background="@drawable/gradient_help"
android:drawableTop="@drawable/help"
android:gravity="center|center_vertical"
android:padding="10dp"
android:text="Help"
android:textColor="@color/white"
android:textSize="10dip" />

</LinearLayout>

Samsung Galaxy Note3

Samsung Galaxy Ace2

最佳答案

要让内容占据整个空间的高度,您将不得不考虑 child Views 的重量及其各自的高度。

我不明白你的第一张图片 icon_photo 在哪里。看起来不在您的屏幕截图中。

<?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="vertical"
android:background="@drawable/bg_login" >

<ImageView
android:id="@+id/icon_photo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
android:src="@drawable/logo_white" />

<Button
android:id="@+id/btn_feed"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_margin="10dp"
android:background="@drawable/gradient_feed"
android:drawableTop="@drawable/feed"
android:gravity="center|center_vertical"
android:padding="10dp"
android:text="Feed"
android:textColor="@color/white"
android:textSize="10dip" />

<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" >

<Button
android:id="@+id/btn_profile"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginLeft="10dp"
android:background="@drawable/gradient_profile"
android:drawableTop="@drawable/profile"
android:gravity="center|center_vertical"
android:padding="10dp"
android:text="Profile"
android:textColor="@color/white"
android:textSize="10dip"
android:layout_weight="1.00" />

<Button
android:id="@+id/btn_new_challenge"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:background="@drawable/gradient_new_challenge"
android:drawableTop="@drawable/new_challenge"
android:gravity="center|center_vertical"
android:padding="10dp"
android:text="New Challenge"
android:textColor="@color/white"
android:textSize="10dip"
android:layout_weight="1.00" />

<Button
android:id="@+id/btn_rankings"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginRight="10dp"
android:background="@drawable/gradient_rankings"
android:drawableTop="@drawable/rankings"
android:gravity="center|center_vertical"
android:padding="10dp"
android:text="Rankings"
android:textColor="@color/white"
android:textSize="10dip"
android:layout_weight="1.00" />
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" >

<Button
android:id="@+id/btn_factory"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginLeft="10dp"
android:background="@drawable/gradient_factory"
android:drawableTop="@drawable/task_factory"
android:gravity="center|center_vertical"
android:padding="10dp"
android:text="Task Factory"
android:textColor="@color/white"
android:textSize="10dip"
android:layout_weight="1.00" />

<Button
android:id="@+id/btn_settings"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:background="@drawable/gradient_settings"
android:drawableTop="@drawable/settings"
android:gravity="center|center_vertical"
android:padding="10dp"
android:text="Settings"
android:textColor="@color/white"
android:textSize="10dip"
android:layout_weight="1.00" />

<Button
android:id="@+id/btn_gadgets"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginRight="10dp"
android:background="@drawable/gradient_gadgets"
android:drawableTop="@drawable/gadgets"
android:gravity="center|center_vertical"
android:padding="10dp"
android:text="Gadgets"
android:textColor="@color/white"
android:textSize="10dip"
android:layout_weight="1.00" />
</LinearLayout>

<Button
android:id="@+id/btn_store"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="10dp"
android:background="@drawable/gradient_store"
android:drawableTop="@drawable/store"
android:gravity="center|center_vertical"
android:padding="10dp"
android:text="Store"
android:textColor="@color/white"
android:textSize="10dip" />

<Button
android:id="@+id/btn_help"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="10dp"
android:background="@drawable/gradient_help"
android:drawableTop="@drawable/help"
android:gravity="center|center_vertical"
android:padding="10dp"
android:text="Help"
android:textColor="@color/white"
android:textSize="10dip"
/>

</LinearLayout>

这些屏幕之间的差异很大。您可能需要使用 values 来尝试不同的布局或不同的框大小,但如果您的 drawables 大小不一样,您可能可以在没有多个布局的情况下进行处理。

http://developer.android.com/guide/practices/screens_support.html

关于android - Metro 布局对齐底部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26791170/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com