Почему моя кнопка не отображается в макете? - PullRequest
0 голосов
/ 23 ноября 2018

Я делал вкладку с представлением в виде списка.Я пытался поместить кнопку под списком, но когда я запускаю на телефоне, кнопка не отображается.

Макет моего фрагмента

<FrameLayout 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"
    tools:context="com.siscaproject.sisca.Fragment.RegisterFragment">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="7dp">

        <RelativeLayout
            android:id="@+id/rl_total_data"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/colorRedPrimary"
            android:padding="8dp">

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="5dp"
                android:text="@string/item_detected"
                android:textColor="#fff" />

            <TextView
                android:id="@+id/tv_total_data"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentEnd="true"
                android:layout_alignParentRight="true"
                android:layout_marginEnd="7dp"
                android:hint="10 items detected"
                android:textColor="#fff" />
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/rl_data"
            android:layout_below="@id/rl_total_data"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <ListView
                android:id="@+id/lv_data"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_alignParentStart="true"
                android:layout_alignParentTop="true" />

        </RelativeLayout>

        <Button
            android:id="@+id/btn_register"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentStart="true"
            android:background="@color/colorRedPrimary"
            android:text="@string/register_all_item"
            android:textAllCaps="false"
            android:textColor="#fff" />

    </RelativeLayout>

</FrameLayout>

Предварительный просмотр макета в моей андроид-студии

The Layout preview in my android studio

Макет при запуске на моем телефоне (я использую Asus Zenfone 5)

When i run it on my phone

Я не уверен, где я ошибся, у меня фактически есть кнопка измененияв плавающую кнопку, но только половина кнопки отображается в макете.(Плюс я не могу прокрутить макет)

Обновление Я решил, проблема в макете активности с вкладками.Я использую макет ограничения в качестве родителя, я изменил его на относительный макет, и он отлично работает

Ответы [ 5 ]

0 голосов
/ 23 ноября 2018

Попробуйте это

<FrameLayout 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"
tools:context="com.siscaproject.sisca.Fragment.RegisterFragment">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginTop="7dp"
    android:orientation="vertical">

    <RelativeLayout
        android:id="@+id/rl_total_data"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/colorRedPrimary"
        android:padding="8dp">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:text="@string/item_detected"
            android:textColor="#fff" />

        <TextView
            android:id="@+id/tv_total_data"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:layout_marginEnd="7dp"
            android:hint="10 items detected"
            android:textColor="#fff" />
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/rl_data"
        android:layout_below="@id/rl_total_data"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">

        <ListView
            android:id="@+id/lv_data"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true" />

    </RelativeLayout>
    <Button
        android:id="@+id/btn_register"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentStart="true"
        android:background="@color/colorRedPrimary"
        android:text="@string/register_all_item"
        android:textAllCaps="false"
        android:textColor="#fff" />
</LinearLayout>

0 голосов
/ 23 ноября 2018

Попробуйте

изменить цвет в соответствии с вами!

<FrameLayout 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"
   >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="7dp">

        <RelativeLayout
            android:id="@+id/rl_total_data"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/colorAccent"
            android:padding="8dp">

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="5dp"
                android:text="detected"
                android:textColor="#fff" />

            <TextView
                android:id="@+id/tv_total_data"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentEnd="true"
                android:layout_alignParentRight="true"
                android:layout_marginEnd="7dp"
                android:hint="10 items detected"
                android:textColor="#fff"
                android:layout_marginRight="7dp" />
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/rl_data"
            android:layout_below="@id/rl_total_data"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <ListView
                android:id="@+id/lv_data"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_alignParentStart="true"
                android:layout_alignParentTop="true"
                android:layout_alignParentLeft="true" />

        </RelativeLayout>

        <Button
            android:id="@+id/btn_register"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentStart="true"
            android:background="@color/colorPrimary"
            android:text="helo"
            android:textAllCaps="false"
            android:textColor="#fff"
            android:layout_alignParentLeft="true" />

    </RelativeLayout>

</FrameLayout>
0 голосов
/ 23 ноября 2018

Это происходит из-за атрибута «соответствовать родительскому элементу», который находится в виде над вашей кнопкой. Поэтому ваша кнопка не отображается, так как вид сверху был установлен так, чтобы занимать все пространство родительского элемента.

СМОТРЕТЬ ВНИЗ модификацию КОДА

<FrameLayout 
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"
    tools:context="com.siscaproject.sisca.Fragment.RegisterFragment">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="7dp">

        <RelativeLayout
            android:id="@+id/rl_total_data"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/colorRedPrimary"
            android:padding="8dp">

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="5dp"
                android:text="@string/item_detected"
                android:textColor="#fff" />

            <TextView
                android:id="@+id/tv_total_data"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentEnd="true"
                android:layout_alignParentRight="true"
                android:layout_marginEnd="7dp"
                android:hint="10 items detected"
                android:textColor="#fff" />
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/rl_data"
            android:layout_below="@id/rl_total_data"
            android:layout_width="match_parent"
           android:layout_height="wrap_content">

            <ListView
                android:id="@+id/lv_data"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentStart="true"
                android:layout_alignParentTop="true" />

        </RelativeLayout>

        <Button
            android:id="@+id/btn_register"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentStart="true"
            android:background="@color/colorRedPrimary"
            android:text="@string/register_all_item"
            android:textAllCaps="false"
            android:textColor="#fff" />

    </RelativeLayout>

</FrameLayout>

Вы можете попробовать использовать weightSum, как описано в этом посте. Что такое android: weightSum в android и как он работает? Это даетгораздо больше контроля над разделением вашего родительского макета

0 голосов
/ 23 ноября 2018

Попробуйте с этим кодом

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="7dp">

<RelativeLayout
    android:id="@+id/rl_total_data"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/colorPrimary"
    android:padding="8dp">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dp"
        android:text="Items Detected"
        android:textColor="#fff" />

    <TextView
        android:id="@+id/tv_total_data"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:layout_marginEnd="7dp"
        android:hint="10 items detected"
        android:textColor="#fff" />
</RelativeLayout>



    <ListView
        android:id="@+id/lv_data"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@+id/btn_register"
        android:layout_below="@+id/rl_total_data"/>


<Button
    android:id="@+id/btn_register"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:background="@color/colorAccent"
    android:text="Register"
    android:textAllCaps="false"
    android:textColor="#fff" />

0 голосов
/ 23 ноября 2018

Попробуйте этот код ..

<FrameLayout 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"
tools:context="com.siscaproject.sisca.Fragment.RegisterFragment">

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginTop="7dp">

    <RelativeLayout
        android:id="@+id/rl_total_data"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/colorRedPrimary"
        android:padding="8dp">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:text="@string/item_detected"
            android:textColor="#fff" />

        <TextView
            android:id="@+id/tv_total_data"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:layout_marginEnd="7dp"
            android:hint="10 items detected"
            android:textColor="#fff" />
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/rl_data"
        android:layout_below="@id/rl_total_data"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <ListView
            android:id="@+id/lv_data"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true"
            android:layout_above="@+id/btn_register" />

        <Button
            android:id="@+id/btn_register"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentStart="true"
            android:background="@color/colorAccent"
            android:text="submit"
            android:textAllCaps="false"
            android:textColor="#fff" />

    </RelativeLayout>


</RelativeLayout>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...