android-尽管layout_gravity不同,为什么这两个元素仍然粘合在一起?

ID为totalTimeView的文本框和ID为ID设置的ImageButton分别具有layout_gravity左| top和right | top,但是它们仍然粘在应用程序中.为什么会这样呢?以下是我用于该活动的xml文件,我已经附上了屏幕截图,在此先感谢您.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/light_blue"
    tools:context=".StoppedActivity">

    <TextView
        android:id="@+id/totalTimeView"
        android:layout_width="80dp"
        android:layout_height="50dp"
        android:layout_marginBottom="90dp"
        android:layout_gravity="left|top"
        android:background="@android:color/white"
        android:textColor="@color/started_black"
        />

    <TextView
        android:id="@+id/countDownView"
        android:layout_below="@+id/totalTimeView"
        android:layout_centerHorizontal="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/white_circle"
        android:textColor="@color/started_black"
        android:gravity="center"
        android:textSize="65sp" />

    <ImageButton
        android:id="@+id/settings"
        android:layout_width="80dp"
        android:layout_height="50dp"
        android:layout_gravity="right|top"
        android:layout_toRightOf="@+id/totalTimeView"
        android:src="@drawable/ic_settings_black_24dp"
        android:scaleType="fitXY"
        />

    <ToggleButton
        android:id="@+id/toggleSwitch"
        android:gravity="center"
        android:background="@drawable/toggle_selector"
        android:layout_centerInParent="true"
        android:layout_below="@+id/countDownView"
        android:layout_marginTop="40dp"
        android:layout_width="300dp"
        android:layout_height="50dp" />

    <ImageButton
        android:id="@+id/startButton"
        android:background="@drawable/button_selector"
        android:layout_width="360dp"
        android:layout_height="70dp"
        android:layout_alignParentBottom="true"
        android:layout_centerInParent="true"
        android:layout_marginBottom="60dp"
        android:layout_gravity="bottom" />
</RelativeLayout>

解决方法:

一件事,无需在imageButton android:id =“ @ id / settings”中同时使用两者:

android:layout_gravity="right|top"
android:layout_toRightOf="@+id/totalTimeView"

最好的办法是将其用于imageButton,android:id =“ @ id / settings”:

android:layout_alignParentTop="true"
android:layout_alignParentRight="true"

并根据需要调整其他代码,但不要使用多余的代码行.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...