为什么我在手机上看不到自己活动的右侧?

时间:2019-03-21 21:13:13

标签: android android-layout scrollview

我正在尝试为学校项目编写应用程序代码。我坚持设计。我无法在手机上看到活动的右侧,但该活动正在Android Studio预览中显示。我的代码可能不正确,或者我没有尊重某些东西。

这是2个屏幕截图: Android Studio预览: https://pasteboard.co/I6uT89f.png

电话视图: https://pasteboard.co/I6uSgpW.jpg

代码如下:

activity_main.xml

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/colorPrimaryDark"
    tools:context=".MainActivity">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/AppTheme.AppBarOverlay">

    </android.support.design.widget.AppBarLayout>

    <include
        android:id="@+id/include"
        layout="@layout/content_main" />

    <com.leinardi.android.speeddial.SpeedDialOverlayLayout
        android:id="@+id/overlay"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:backgroundTint="#131313"/>

        <com.leinardi.android.speeddial.SpeedDialView
            android:id="@+id/speedDial"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom|end"
            app:sdMainFabClosedSrc="@drawable/ic_menu"
            app:sdOverlayLayout="@id/overlay"/>


</android.support.design.widget.CoordinatorLayout>

content_main.xml

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context=".MainActivity"
    tools:showIn="@layout/activity_main">


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:orientation="vertical"
        android:paddingBottom="5dp">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="340dp"
            android:layout_centerInParent="true"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp">
            <ImageView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:src="@drawable/header2"
                android:scaleType="fitCenter"
                android:layout_marginTop="-20dp"/>

        </RelativeLayout>
        <RelativeLayout
            android:clickable="true"
            android:focusable="true"
            android:id="@+id/plante1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_centerVertical="true"
            android:background="@drawable/ripple"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:layout_marginTop="-10dp"
            android:layout_marginBottom="15dp"
            android:gravity="center">

            <RelativeLayout
                android:layout_width="60dp"
                android:layout_height="60dp"
                android:layout_marginLeft="10dp"
                android:background="@drawable/logo_shape">

                <ImageView
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_centerVertical="true"
                    android:layout_centerHorizontal="true"/>
            </RelativeLayout>

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_centerHorizontal="true"
                android:orientation="vertical">

                <fr.visufo.titouan.jardin.UnderlinedTextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="80dp"
                    android:layout_marginTop="0dp"
                    android:gravity="left"
                    android:text="Plante 1"
                    android:textSize="20dp"
                    android:fontFamily="@font/raleway_light"
                    android:textColor="#000000"
                    app:underlineColor="#6DB85C"
                    app:underlineWidth="10px"/>
            </RelativeLayout>

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical">
                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_marginLeft="80dp"
                    android:layout_marginTop="30dp"
                    android:textSize="15dp"
                    android:textColor="#000000"
                    android:text="Pensez à rentrer votre plante demain"
                    android:fontFamily="@font/raleway_light"/>
            </RelativeLayout>
            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_marginLeft="335dp"
                android:layout_marginRight="7dp"
                android:layout_marginTop="-4dp"
                android:background="@drawable/degrees_shape">

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:text="0°C"
                    android:gravity="center"
                    android:fontFamily="@font/roboto"
                    android:textSize="18dp"
                    android:textColor="#636363"/>
            </RelativeLayout>
        </RelativeLayout>

        There are 8 similar relative layouts showing quite the same thing, here's 
        only one


    </LinearLayout>


</ScrollView>

1 个答案:

答案 0 :(得分:0)

@ titouan-pellerin-与在网站设计中将div用作(大多数)事物的容器不同,您不需要将每个单独的视图重复包装在其自己的布局内。.

例如,如果我想在活动中垂直显示以下内容:

(标题)
(一些较小的子文本)

(图片)
(某些描述文字)

(底部有两个按钮)

..我不会将这些东西分别包装在它们的里面自己的布局-我只需创建 1 基本布局(充当主容器),然后在其内部,为内容创建 1 垂直布局(已安排)垂直),底部的按钮 1 的水平布局(水平排列)。

当然,您还需要根据显示所有内容的方式设置边距。

您很可能会遇到问题,这是由于在页眉和再次遍历屏幕边界,再加上与仿真器相比手机可能具有不同的像素密度和分辨率的事实。

第1步: ,如上所述。

步骤2:在“分辨率/像素密度”中选择/设置与您的设备最匹配的模拟器。

希望如此
如果您认为这是一个很好的解释,请接受作为问题的答案。
谢谢,编码愉快!