- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有布局,我想膨胀它
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<EditText
android:id="@+id/editText1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
</EditText>
</LinearLayout>
喜欢
LinearLayout ll=(LinearLayout)findViewById(R.id.llContainer);
View view;
LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.question_free_text, null);
ll.addView(view);
ll在哪里
<LinearLayout
android:id="@+id/llContainer"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginTop="20dp"
android:layout_marginBottom="20dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
>
</LinearLayout>
在其他 xml 中,但问题是当它膨胀时显示但高度很大(fill_parent,它看起来像 wrap_content,但布局中没有 wrap_content)。谁能帮帮我?
最佳答案
正如 Yashwanth Kumar 在评论中正确提到的那样,膨胀方法的第二个参数应该是将插入新 View 的 Root View :
LinearLayout ll = (LinearLayout) findViewById(R.id.llContainer);
View view;
LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.question_free_text, ll);
如果在 inflate-call 中提供了 Root View ,则 LayoutInflator 会调用此 Root View 的 generateLayoutParams(ViewGroup.LayoutParams p)
方法来获取一些 LayoutParams(基本上包含有关大小的信息view can/should be) 将传递给新 View 。
请注意,如果您提供 Root View ,膨胀 View 将通过 root.addView(View child, LayoutParams params)
自动添加到 Root View 。
您还可以将第三个参数传递给 inflate-method (boolean attachToRoot
),如果此值为 false
,则新 View 不会自动添加到 Root View ,但 LayoutParams 仍使用 setLayoutParams(params)
设置。如果您想手动将 View 添加到 Root View (例如,在特定位置/索引处),则可以使用它:
LinearLayout ll = (LinearLayout) findViewById(R.id.llContainer);
View view;
LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.question_free_text, ll, false); // the LayoutParams of view are set here
ll.addView(view, 2);
关于android - Inflater inflate 但高度很小(看起来像 wrap_content 需要 fill_parent),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7752642/
我有带有 TextView 和 Button 的 LinearLayout。我将 layout_height 属性设置为 wrap_content 但 layout_height 的尺寸要大得多。如果
所以我知道当我不使用 Modifier.height() 就像设置了“WRAP_CONTENT”,但是如果我想将高度的值设置为 WRAP_CONTENT。有没有办法做到这一点? 已经尝试过 Instr
我制作了一个测验应用程序,但我遇到了单选按钮的问题。我创建了一个圆形背景并将其设置为我的单选按钮背景。但是,背景不会随着单选按钮内的文本量而放大。 这是一张图片 我无法发布信誉度低于 10 的图片。
我的理解是 wrap_content 占用的空间与其内容所需的空间一样多。但这不也适用于 TextView 吗? 在下面的布局中,为什么当我将 ID 为 real_status 的 TextView
目前我在另一个 View 中有一个 View (它是一个广告),但是因为我使用的是 MATCH_PARENT,所以宽度是整个屏幕的长度,而我只希望它是广告尺寸。现在 WRAP_CONTENT 解决了这
我想要实现的是 XML(请不要编写代码!!!)来执行此操作: 我不想要下面的 xml,因为它会将我的弹出窗口拖到屏幕顶部 这是我的 XML,但它也不起作用 :( 最佳答案 如果您有
我正在使用自定义布局来显示对话框。这是布局:
大家好,感谢您的帮助。 我在 Android Studio 中有一个项目。 我在垂直 LinearLayout 中使用 ImageView。 这是我的参数; 你可以在下面看到我的图像(红色 bloc
我对 FrameLayout 有疑问。我想创建 FrameLayout,它将具有第一个 child 的高度,第二个 child 将获得父级的高度(本例中为 100dp)。但我得到的是 FrameLay
当 RecyclerView 的 layout_width 为 wrap_content 时,我试图将其居中,但没有成功 当 RecyclerView 被赋予任何确定的 layout_w
我创建了一个自定义背景图片,并想将其用作高度为 wrap_content 的布局的背景。但是,该布局中内容的总高度远小于背景图像的高度。 当我通过 android:background="@drawa
有一个 TableLayout,它有一堆看起来像这样的行: 当前的行为是,如果第一个按钮的文本换行到第二行,按钮的高度会更大。这很好。然而,另一个按钮,如果它没有那么多文本
我正在尝试使用 wrap_content 让我的 Recycler View 在只有几个项目时不占用所有屏幕空间,但这似乎不起作用。有什么问题? 代码: 最
我正在尝试布局一个应该包装其内容的 View ,但它不应比其父宽度小约 100dp。如何使用 RelativeLayout 或其他布局来做到这一点?我现在所拥有的总是会使 View 比其父 View
“wrap_content”在我的按钮中不起作用,它目前看起来像这样: now want ____________ | |
为什么 RelativeLayout 不换行内容?如果我删除最后一个与底部父级对齐的 View ,它就可以工作...
WRAP_CONTENT 应该这样做: Special value for the height or width requested by a View. WRAP_CONTENT means th
我想创建一个 ViewPager,其宽度环绕其内容,并在其父项中水平居中。第一个代码 fragment 使用 LinearLayout 来创建此效果,如第一个屏幕截图所示。第二个代码 fragment
我正在尝试制作我的 ListView 的行,以便单击任何一行都会在适当的位置展开该行并显示额外的选项。我使用行布局(称为 rowView)包含的额外布局(我们称之为 expandView),高度最初设
我试图让 RelativeLayout 包装它的内容高度和宽度。它似乎在宽度上做得很好,但高度不环绕。它覆盖了整个屏幕。有人知道为什么吗?
我是一名优秀的程序员,十分优秀!