gpt4 book ai didi

android - LinearLayout 中的 fill_parent 没有得到尊重

转载 作者:行者123 更新时间:2023-11-29 21:51:36 26 4
gpt4 key购买 nike

在对 SO 和谷歌进行了大量研究之后,我还没有看到任何人遇到与我遇到的问题完全相同的问题,所以这里是:

我最近重新设计了一个 Android 应用程序的整个 UI。在大多数情况下,我只对每个屏幕进行了外观上的更改。它们如预期般完美地出现在eclipse的UI编辑器中。然而,在执行此操作后,所有测试设备和模拟器上的两个屏幕都停止了正确布局。

现在,这两个屏幕的一个大问题是根级别 LinearLayout 似乎并没有真正为 layout_height 或 layout_width 提供 fill_parent。看起来它正在被测量,就好像它被设置为 wrap_content 一样。它只占屏幕的大约 70%——这刚好足以将单个元素包装在根 LinearLayout 中。我会张贴图片,但作为新用户,我不被允许。

布局未拉伸(stretch)以填满屏幕。这是布局代码,除了 LinearLayouts 中还有一些包含 TextView 和 EditText 的代码。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FF000000"
android:orientation="vertical" >

<TextView
style="@style/sans.white.16.bold"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="4dp"
android:text="@string/edit_account" />

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >

<com.teamunify.ondeck.widget.TUTextView
style="@style/sans.white.14"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="@string/first_name" />

<com.teamunify.ondeck.widget.TUEditText
android:id="@+id/acc_editor_first"
android:layout_width="fill_parent"
android:layout_height="40dp"
android:selectAllOnFocus="true"
android:singleLine="true" />
</LinearLayout>

我认为根 LinearLayout 应该填充高度和宽度。我在我们的应用程序中多次使用相同的布局,没有出现任何问题。 (快速计数显示我在我们的应用程序中使用了 76 个 LinearLayouts,除了两个之外,其他都在工作。)

起初,我怀疑我们的自定义类措施可能破坏了一切,所以我更改了布局以使用所有普通的 EditText,但没有任何变化。我仔细检查了该 Activity ,但它除了加载此 xml 外什么也没做。所以,无奈之下,我重做了这样的布局:

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FF000000"
android:orientation="vertical" >

<TextView
style="@style/sans.white.16.bold"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center|top"
android:paddingTop="4dp"
android:text="@string/edit_account" />

</LinearLayout>

之后,左上角出现黑色背景的“编辑帐户”字样。显然,LinearLayout 没有填充父级。

长话短说,我想问的是如何解决这个问题,以便 LinearLayout 按预期填满屏幕。

我完全不知道为什么会这样,我当然希望 SO 上的某个人有想法。这让我抓狂!

最佳答案

尝试为根布局设置固定的宽度和高度。然后只有你才能调试谁在驱动长度和宽度。父 Activity 或后台 Activity 很可能正在设置维度。确定根本原因后,您可以返回到原始设置。

从这里给出的代码 fragment 来看,这里没有任何问题

关于android - LinearLayout 中的 fill_parent 没有得到尊重,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14285173/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com