当前位置: 首页 > 知识库问答 >
问题:

Android布局:合并为LinearLayout未显示所有字段

裴畅
2023-03-14
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    >
    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/text1"
        style="@style/textStyle"
        />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/text2"
        style="@style/textStyle"
        />
</merge>
<LinearLayout 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:orientation="vertical"
    >

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <com.mycompany.myprogram.MyCustomView
                android:id="@+id/customView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                />

             <SomeOtherView />

             <AnotherOtherView />

        </LinearLayout>
    </ScrollView>
</LinearLayout>
public class MyCustomView extends LinearLayout {

    @Bind(R.id.textView1) TextView textView1;
    @Bind(R.id.textView2) TextView textView2;

    public MyCustomView(Context context, AttributeSet attrs) {
        super(context, attrs);
        initialize(context);
    }

    public ConfirmEditTextSection(Context context) {
        super(context);
        initialize(context);
    }

    private void initialize(Context context) {

        LayoutInflater.from(context).inflate(R.layout.layout_mycustomview, this, true);
        ButterKnife.bind(this, this);
    }
}

概括地说,当使用merge时,子视图都在自定义类(LinearLayout的子类)中(并且标记为可见),但屏幕上只显示一个子视图。

为了让我的LinearLayout自定义类正确地显示它的两个子视图,我需要做一些额外的事情吗?

共有1个答案

燕昊东
2023-03-14

原来我忘了显式设置方向。

加法

setOrientation(VERTICAL);

就在上面,我的充气电话解决了问题。

 类似资料:
  • 本文向大家介绍Android LinearLayout 线性布局,包括了Android LinearLayout 线性布局的使用技巧和注意事项,需要的朋友参考一下 示例 LinearLayout是一种ViewGroup将其子级排列在单列或单行中的。可以通过调用方法setOrientation()或使用xml属性来设置方向android:orientation。 垂直方向:android:orien

  • 帮助我使用XML布局。 我在活动上有三个LinearLayout,所有LinearLayout的位置都是垂直的(从上到下) null

  • 在上一节中,我们讲到了所有的 Layout 都是从 ViewGroup 继承而来,它可以包含若干 View 并按照指定的规则将这个 View 摆放到屏幕上。那么接下来的章节我们就来学习一下 Android 的 UI 布局,Android 原生有六大布局,分别是: LinearLayout(线性布局)、RelativeLayout(相对布局)、TableLayout(表格布局)、FrameLayou

  • 本文向大家介绍Android布局控件之常用linearlayout布局,包括了Android布局控件之常用linearlayout布局的使用技巧和注意事项,需要的朋友参考一下 LinearLayout是线性布局控件,它包含的子控件将以横向或竖向的方式排列,按照相对位置来排列所有的widgets或者其他的containers,超过边界时,某些控件将缺失或消失。因此一个垂直列表的每一行只会有一个wid

  • 问题内容: 我试图使用此代码从我的主要活动中调用第二个活动 作为我的OrderSummaryActivity: 但是布局不会在此活动中显示,只是空白页。这是布局的xml: 有什么提示吗? 问题答案: 尝试将 OrderSummaryActivity.class 更改为:

  • 问题内容: 我正在为我的学生编写MathQuiz,包括用于渲染的JLatexMath和用于蜂鸣器的jinput。问题是,有时(像每四次一样)当我启动程序时,所有组件都不可见。它们在调整JFrame大小后出现。首先,我想到了jinput或jlatexMath库中的Bug,但是即使使用最小的代码,我也会遇到相同的错误: 代码有什么问题? 问题答案: 首先移到构造函数的末尾。 而不是去这里… 移到这里…