布局 .xml 有时在某些 android 版本上不起作用

Posted

技术标签:

【中文标题】布局 .xml 有时在某些 android 版本上不起作用【英文标题】:Layout .xml not working sometimes on some android versions 【发布时间】:2018-02-08 19:46:30 【问题描述】:

我一直在尝试进行布局。但是在一些 android 版本上,比如 api 25。

你能看出我做错了吗?顺便说一句,由于某种原因,我的代码不太适合这里。 Android Studio 没有给我错误代码之类的。它使我的 .apk 很好。所有页面都可以正常工作,但这一页不行。

'<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_
android:layout_
android:orientation="vertical">

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_
            android:layout_
            android:padding="@dimen/space16">
            <ImageView
                android:id="@+id/iv_user"
                android:layout_
                android:layout_
                android:background="@drawable/head"/>
            <RatingBar
                android:id="@+id/ratingBar"
                android:layout_
                android:layout_
                android:layout_centerHorizontal="true"
                android:layout_marginLeft="@dimen/space16"
                android:layout_marginBottom="@dimen/space8"
                android:rating="3"
                android:numStars="5"
                android:isIndicator="true"
                style="@style/RatingBar"
                android:layout_toRightOf="@id/iv_user"/>
            <TextView
                android:id="@+id/tv_username"
                android:layout_
                android:layout_
                android:layout_below="@id/ratingBar"
                android:layout_alignLeft="@id/ratingBar"
                android:text="Henrie, €12.- p/u"
                android:textColor="@color/colorTextDark"
                android:textSize="@dimen/h3"
                android:textAppearance="@style/SemiBold"/>
            <TextView
                android:id="@+id/tv_date"
                android:layout_
                android:layout_
                android:layout_below="@id/ratingBar"
                android:layout_marginLeft="@dimen/space8"
                android:layout_toRightOf="@id/tv_username"
                android:layout_alignBaseline="@id/tv_username"
                android:text="Oudijzer handel"

                android:textColor="@color/colorTextGrey"
                android:textSize="12sp"
                android:textAppearance="@style/Regular"/>
            <TextView
                android:id="@+id/tv_text_comment"
                android:layout_
                android:layout_marginTop="@dimen/space8"
                android:layout_
                android:layout_below="@id/tv_username"
                android:layout_alignLeft="@id/ratingBar"
                style="@style/Text14Reg"/>
        </RelativeLayout>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_
    android:layout_
    android:paddingLeft="15dp"
    android:paddingTop="96dp">
    <ImageView
        android:id="@+id/iv_user1"
        android:layout_
        android:layout_
        android:background="@drawable/head2"/>
    <RatingBar
        android:id="@+id/ratingBar1"
        android:layout_
        android:layout_
        android:layout_centerHorizontal="true"
        android:layout_marginLeft="@dimen/space16"
        android:layout_marginBottom="@dimen/space8"
        android:rating="4.5"
        android:numStars="5"
        android:isIndicator="true"
        style="@style/RatingBar"
        android:layout_toRightOf="@id/iv_user1"/>
    <TextView
        android:id="@+id/tv_username1"
        android:layout_
        android:layout_
        android:layout_below="@id/ratingBar1"
        android:layout_alignLeft="@id/ratingBar1"
        android:text="Hetty, €5.- p/u"
        android:textColor="@color/colorTextDark"
        android:textSize="@dimen/h3"
        android:textAppearance="@style/SemiBold"/>
    <TextView
        android:id="@+id/tv_date1"
        android:layout_
        android:layout_
        android:layout_below="@id/ratingBar1"
        android:layout_marginLeft="@dimen/space8"
        android:layout_toRightOf="@id/tv_username1"
        android:layout_alignBaseline="@id/tv_username1"
        android:text="Haken met wol en andere stof"
        android:textColor="@color/colorTextGrey"
        android:textSize="12sp"
        android:textAppearance="@style/Regular"/>
    <TextView
        android:id="@+id/tv_text_comment1"
        android:layout_
        android:layout_marginTop="@dimen/space8"
        android:layout_
        android:layout_below="@id/tv_username1"
        android:layout_alignLeft="@id/ratingBar1"
        style="@style/Text14Reg"/>
</RelativeLayout>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_
    android:layout_
    android:paddingLeft="15dp"
    android:paddingTop="176dp">
    <ImageView
        android:id="@+id/iv_user2"
        android:layout_
        android:layout_
        android:background="@drawable/head3"/>
    <RatingBar
        android:id="@+id/ratingBar2"
        android:layout_
        android:layout_
        android:layout_centerHorizontal="true"
        android:layout_marginLeft="@dimen/space16"
        android:layout_marginBottom="@dimen/space8"
        android:rating="4.5"
        android:numStars="5"
        android:isIndicator="true"
        style="@style/RatingBar"
        android:layout_toRightOf="@id/iv_user2"/>
    <TextView
        android:id="@+id/tv_username2"
        android:layout_
        android:layout_
        android:layout_below="@id/ratingBar2"
        android:layout_alignLeft="@id/ratingBar2"
        android:text="Peter, €106.- p/u"
        android:textColor="@color/colorTextDark"
        android:textSize="@dimen/h3"
        android:textAppearance="@style/SemiBold"/>
    <TextView
        android:id="@+id/tv_date2"
        android:layout_
        android:layout_
        android:layout_below="@id/ratingBar2"
        android:layout_marginLeft="@dimen/space8"
        android:layout_toRightOf="@id/tv_username2"
        android:layout_alignBaseline="@id/tv_username2"
        android:text="Professioneel APK keurder"
        android:textColor="@color/colorTextGrey"
        android:textSize="12sp"
        android:textAppearance="@style/Regular"/>
    <TextView
        android:id="@+id/tv_text_comment2"
        android:layout_
        android:layout_marginTop="@dimen/space8"
        android:layout_
        android:layout_below="@id/tv_username2"
        android:layout_alignLeft="@id/ratingBar2"
        style="@style/Text14Reg"/>
</RelativeLayout>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_
    android:layout_
    android:paddingLeft="15dp"
    android:paddingTop="262dp">
    <ImageView
        android:id="@+id/iv_user3"
        android:layout_
        android:layout_
        android:background="@drawable/head4"/>
    <RatingBar
        android:id="@+id/ratingBar3"
        android:layout_
        android:layout_
        android:layout_centerHorizontal="true"
        android:layout_marginLeft="@dimen/space16"
        android:layout_marginBottom="@dimen/space8"
        android:rating="5"
        android:numStars="5"
        android:isIndicator="true"
        style="@style/RatingBar"
        android:layout_toRightOf="@id/iv_user3"/>
    <TextView
        android:id="@+id/tv_username3"
        android:layout_
        android:layout_
        android:layout_below="@id/ratingBar3"
        android:layout_alignLeft="@id/ratingBar3"
        android:text="Kim, Vanaf €1.-"
        android:textColor="@color/colorTextDark"
        android:textSize="@dimen/h3"
        android:textAppearance="@style/SemiBold"/>
    <TextView
        android:id="@+id/tv_date3"
        android:layout_
        android:layout_
        android:layout_below="@id/ratingBar3"
        android:layout_marginLeft="@dimen/space8"
        android:layout_toRightOf="@id/tv_username3"
        android:layout_alignBaseline="@id/tv_username3"
        android:text="Ik maak en verkoop kettingen"
        android:textColor="@color/colorTextGrey"
        android:textSize="12sp"
        android:textAppearance="@style/Regular"/>
    <TextView
        android:id="@+id/tv_text_comment3"
        android:layout_
        android:layout_marginTop="@dimen/space8"
        android:layout_
        android:layout_below="@id/tv_username3"
        android:layout_alignLeft="@id/ratingBar3"
        style="@style/Text14Reg"/>
</RelativeLayout>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_
    android:layout_
    android:paddingLeft="15dp"
    android:paddingTop="358dp">
    <ImageView
        android:id="@+id/iv_user4"
        android:layout_
        android:layout_
        android:background="@drawable/head5"/>
    <RatingBar
        android:id="@+id/ratingBar4"
        android:layout_
        android:layout_
        android:layout_centerHorizontal="true"
        android:layout_marginLeft="@dimen/space16"
        android:layout_marginBottom="@dimen/space8"
        android:rating="4"
        android:numStars="5"
        android:isIndicator="true"
        style="@style/RatingBar"
        android:layout_toRightOf="@id/iv_user4"/>
    <TextView
        android:id="@+id/tv_username4"
        android:layout_
        android:layout_
        android:layout_below="@id/ratingBar4"
        android:layout_alignLeft="@id/ratingBar4"
        android:text="Manon, n.o.t.k"
        android:textColor="@color/colorTextDark"
        android:textSize="@dimen/h3"
        android:textAppearance="@style/SemiBold"/>
    <TextView
        android:id="@+id/tv_date4"
        android:layout_
        android:layout_
        android:layout_below="@id/ratingBar4"
        android:layout_marginLeft="@dimen/space8"
        android:layout_toRightOf="@id/tv_username4"
        android:layout_alignBaseline="@id/tv_username4"
        android:text="Kledingontwerpster"
        android:textColor="@color/colorTextGrey"
        android:textSize="12sp"
        android:textAppearance="@style/Regular"/>
    <TextView
        android:id="@+id/tv_text_comment4"
        android:layout_
        android:layout_marginTop="@dimen/space8"
        android:layout_
        android:layout_below="@id/tv_username4"
        android:layout_alignLeft="@id/ratingBar4"
        style="@style/Text14Reg"/>
</RelativeLayout>

Picture of how it needs to look like. On some way, its not working

【问题讨论】:

【参考方案1】:

RecyclerView 确实是您实现此布局的最佳解决方案。您不应该在布局中使用那么多 RelativeLayouts(您实际上并没有父布局,这可能就是您遇到问题的原因)。

【讨论】:

以上是关于布局 .xml 有时在某些 android 版本上不起作用的主要内容,如果未能解决你的问题,请参考以下文章

YouTubePlayer有时会在某些设备上暂停1秒后暂停

显示键盘时如何调整布局?

Android在Activity里如何获得另一个xml布局文件的控件

Android Studio Dolphin | 2021.3.1不显示布局XML预览

Android Studio Dolphin | 2021.3.1不显示布局XML预览

Android Studio Dolphin | 2021.3.1不显示布局XML预览