Android studio - 资源布局问题

问题描述

我很困惑,我真的不知道如何描述这一点。我正在 Android Studio 中构建一个应用程序(java),它混合了标准 UI 控件(TextView 等)和我自己的(从 View 扩展)。大多数工作正常,并且已经这样做了很长时间。但一项特定活动不是。

此特定活动的布局以通常的方式在 XML 文件中定义。在中间它有一个部分(使用 Linearlayouts),有两行控件,每行有两个控件,顶部有一个标准的 Button 和 TextView,下一个是标准的 Spinner 和自产的 RSSiBarView。处理这个的 XML 布局文件的部分是

        <!-- connect and voltage -->
    <LinearLayout
        android:id="@+id/setupuwavetestconnectvoltage"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <Button
            android:id="@+id/setupuwavetestconnect"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:text="Connect" />

        <TextView
            android:id="@+id/setupuwavetestvoltage"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:gravity="right"
            android:text="Voltage"
            android:textColor="@android:color/white"
            android:textSize="16sp" />

    </LinearLayout>

    <!-- switch select and RSSi -->
    <LinearLayout
        android:id="@+id/setupuwaveselectRSSi"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <Spinner
            android:id="@+id/setupuwaveswitchselect"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:background="@android:color/white"
            android:popupBackground="@android:color/white" />

        <uk.co.nightshadearts.multistopwatch.RSSiBarView
            android:id="@+id/setupuwaveRSSi"
            android:layout_width="0dp"
            android:layout_weight="7"
            android:layout_height="wrap_content"
            android:text=""
            android:textColor="@android:color/white"
            android:textSize="16sp" />

    </LinearLayout>

在 Android Studio 设计视图中,一切看起来都很好,行高和我预期的一样小。直到我构建了项目。

一旦构建,自制的 RSSiBarView 突然扩展以填充整个剩余的屏幕高度(这反映在实际设备屏幕上)。清理项目,一切看起来又好了。

我尝试用另一个自制控件 - TimerButton 替换 RSSiBarView。完全没问题 - 当然没有做正确的事情,但布局很好。然后,我用 TimerButton 中的代码替换了 RSSiBarView java 文件中的整个代码(只是将类名和构造函数保留为 RSSiBarView) - 但它仍然出错。 RSSiBarView 现在是一个 TimerButton,只是名称不同,但仍然出错。

我对此完全迷失了。构建过程中出现了严重错误,但我不知道是什么。

我意识到这是一个相当模糊的描述,但这只是反映了我的困惑。谁能建议我应该从哪里开始寻找?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)