如何在Android中构建此布局?

时间:2014-07-22 17:12:58

标签: android ios eclipse layout screen

我是Android新手,我设法完成了我的应用。我应该将iOS应用程序转换为Android应用程序,因此开发了WS。我即将完成应用程序,但仍有两个问题。我无法为最后两个制作相同的布局。两个第一个图像是iOS,最后一个是Android。我不了解像AutoLayout for iOS这样的RelativeLayout的规则,我如何让每个屏幕上的主页看起来都很棒(也就是说,每个按钮的大小合适且组织良好)。目前,我设法使前3个图像按钮正常,但在更大的屏幕上,这些按钮的大小完全不适合屏幕,怎么样?

提前多多感谢!

imageHomeiOS http://img15.hostingpics.net/pics/781886CapturedcranduSimulateuriOS3juil2014210948.png imageProfileiOS http://img15.hostingpics.net/pics/583953CapturedcranduSimulateuriOS3juil2014211025.png imageHomeAnd http://img15.hostingpics.net/pics/695608Capturedcran20140722190415.png imageProfileAnd http://img15.hostingpics.net/pics/313733Capturedcran20140722190428.png

2 个答案:

答案 0 :(得分:0)

尝试使用加权布局而不是RelativeLayout。你可以定义一个水平线性布局,使weightSum = 3,然后给每个按钮一个layout_weight = 1.重量和基本上将屏幕分成很多部分,无论屏幕大小如何,并给出每个部分的一部分对你赋予权重的元素。确保在定义各个元素的layout_width时,将其定义为0dp。 layout_width标签将不再设置元素的宽度,它将由占用的权重设置。

答案 1 :(得分:0)

我不确定性能,因为我得到了lint:嵌套的重量对性能不利。 但是试试,我认为对于7个按钮它不会影响性能。

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

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

        <ImageButton
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:src="@drawable/icon"
            android:adjustViewBounds="true" />

        <ImageButton
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:src="@drawable/icon"
            android:adjustViewBounds="true" />

        <ImageButton
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:src="@drawable/icon"
            android:adjustViewBounds="true" />
    </LinearLayout>

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

        <ImageButton
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:src="@drawable/icon"
            android:adjustViewBounds="true" />

        <ImageButton
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:src="@drawable/icon"
            android:adjustViewBounds="true" />

        <ImageButton
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:src="@drawable/icon"
            android:adjustViewBounds="true" />
    </LinearLayout>

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

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

        <ImageButton
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:src="@drawable/icon"
            android:adjustViewBounds="true" />

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


</LinearLayout>