无法以编程方式向Horizo​​ntalScrollView添加元素

时间:2017-07-31 11:18:17

标签: android

我正在动态插入TextView元素,但只插入最后一个元素并且缺少第一个元素。

Horizo​​ntalScrollView的XML:

        <HorizontalScrollView

            android:id="@+id/mainScroll"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentTop="true"
            android:layout_marginLeft="45dp"
            android:layout_marginRight="45dp"
            android:scrollbars="none">


            <LinearLayout

                android:id="@+id/scrollLayout"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:gravity="center"
                android:orientation="horizontal">


            </LinearLayout>

        </HorizontalScrollView>

完整XML:

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


    <RelativeLayout

        android:id="@+id/article"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/linearLayout3"
        android:layout_marginBottom="15dp"
        android:layout_marginLeft="30dp"
        android:layout_marginRight="30dp"
        android:layout_marginTop="15dp"
        android:background="@drawable/edittext">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_below="@+id/textView35"
            android:orientation="vertical">

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="0px"
                android:layout_weight="1">


                <HorizontalScrollView

                    android:id="@+id/mainScroll"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_alignParentBottom="true"
                    android:layout_alignParentTop="true"
                    android:layout_marginLeft="45dp"
                    android:layout_marginRight="45dp"
                    android:scrollbars="none">


                    <LinearLayout

                        android:id="@+id/scrollLayout"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:gravity="center"
                        android:orientation="horizontal">


                    </LinearLayout>

                </HorizontalScrollView>


            </RelativeLayout>

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="0px"
                android:layout_weight="1">

                <ImageView
                    android:id="@+id/imageView46"
                    android:layout_width="wrap_content"
                    android:layout_height="25dp"
                    android:layout_centerVertical="true"
                    android:layout_marginLeft="17dp"
                    android:layout_toEndOf="@+id/imageView45"
                    android:layout_toRightOf="@+id/imageView45"
                    app:srcCompat="@mipmap/likeicon" />

                <ImageView
                    android:id="@+id/imageView45"
                    android:layout_width="125dp"
                    android:layout_height="45dp"
                    android:layout_centerHorizontal="true"
                    android:layout_centerVertical="true"
                    app:srcCompat="@mipmap/pujar" />

                <ImageView
                    android:id="@+id/imageView47"
                    android:layout_width="wrap_content"
                    android:layout_height="27dp"
                    android:layout_alignTop="@+id/imageView46"
                    android:layout_marginRight="13dp"
                    android:layout_toLeftOf="@+id/imageView45"
                    android:layout_toStartOf="@+id/imageView45"
                    app:srcCompat="@mipmap/deleteicon" />
            </RelativeLayout>
        </LinearLayout>

        <RelativeLayout
            android:id="@+id/relativeLayout5"
            android:layout_width="match_parent"
            android:layout_height="32dp"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true">

            <TextView
                android:id="@+id/textView33"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:layout_marginLeft="15dp"
                android:layout_toEndOf="@+id/imageView44"
                android:layout_toRightOf="@+id/imageView44"
                android:text="Article title"
                android:textSize="15sp" />

            <ImageView
                android:id="@+id/imageView44"
                android:layout_width="24dp"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_alignParentTop="true"
                android:layout_marginLeft="10dp"
                app:srcCompat="@mipmap/unknown" />


        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/mainContentImage"
            android:layout_width="match_parent"
            android:layout_height="255dp"
            android:layout_below="@+id/relativeLayout5"
            android:background="@mipmap/surf">

        </RelativeLayout>

        <TextView
            android:id="@+id/textView35"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_below="@+id/mainContentImage"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="10dp"
            android:text="Puja actual:"
            android:textColor="@color/bidsy"
            android:textSize="15sp" />

        <TextView
            android:id="@+id/textView36"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/textView35"
            android:layout_alignBottom="@+id/textView35"
            android:layout_marginLeft="3dp"
            android:layout_toEndOf="@+id/textView35"
            android:layout_toRightOf="@+id/textView35"
            android:text="120"
            android:textColor="@color/bidsy"
            android:textSize="16sp" />

        <TextView
            android:id="@+id/textView37"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/textView35"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:layout_marginRight="15dp"
            android:text="1 Dia 4 horas"
            android:textColor="#000000" />

    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/relativeLayoutBar"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:background="@color/bidsy"
        android:visibility="gone">

        <ImageView
            android:id="@+id/imageView15"
            android:layout_width="wrap_content"
            android:layout_height="28dp"
            android:layout_alignParentBottom="true"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:clickable="true"
            android:onClick="searchClick"
            android:padding="12dp"
            app:srcCompat="@mipmap/search" />

        <ImageView
            android:id="@+id/imageView144"
            android:layout_width="45dp"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true"
            android:layout_marginLeft="5dp"
            android:clickable="true"
            android:onClick="menuClick"
            android:padding="10dp"
            app:srcCompat="@mipmap/menu" />

        <ImageView
            android:id="@+id/imageViewBar"
            android:layout_width="wrap_content"
            android:layout_height="25dp"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:src="@mipmap/title" />
    </RelativeLayout>

    <RelativeLayout

        android:id="@+id/relativeLayoutSearchBar"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/relativeLayoutBar"
        android:background="@color/bidsy">

        <EditText
            android:id="@+id/editText13"
            android:layout_width="match_parent"
            android:layout_height="35dp"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:layout_marginLeft="125dp"
            android:background="@drawable/edittextsearch"
            android:ems="10"
            android:gravity="center"

            android:hint="Busca en Bidsy!"
            android:inputType="textPersonName"
            android:textColor="@color/white"
            android:textColorHint="#E95355" />

        <ImageView
            android:id="@+id/imageView155"
            android:layout_width="wrap_content"
            android:layout_height="28dp"
            android:layout_alignParentBottom="true"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:padding="12dp"
            app:srcCompat="@mipmap/search" />

        <ImageView
            android:id="@+id/imageView14"
            android:layout_width="45dp"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true"
            android:layout_marginLeft="5dp"
            android:clickable="true"
            android:onClick="menuClick"
            android:padding="10dp"
            app:srcCompat="@mipmap/menu" />

    </RelativeLayout>

    <LinearLayout
        android:id="@+id/linearLayout3"
        android:layout_width="match_parent"
        android:layout_height="45dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/relativeLayoutSearchBar"
        android:background="@color/white"
        android:orientation="horizontal">

        <RelativeLayout
            android:id="@+id/tab1"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:clickable="true"
            android:onClick="tabClick">

            <RelativeLayout
                android:id="@+id/bar1"
                android:layout_width="match_parent"
                android:layout_height="3dp"
                android:layout_alignParentBottom="true"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_marginLeft="3dp"
                android:layout_marginRight="3dp"
                android:background="@color/bidsy">

            </RelativeLayout>

            <ImageView
                android:id="@+id/imageView4354"
                android:layout_width="wrap_content"
                android:layout_height="22dp"
                android:layout_centerHorizontal="true"
                android:layout_centerVertical="true"
                app:srcCompat="@mipmap/bidsytab" />
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/tab2"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:clickable="true"
            android:onClick="tabClick">

            <RelativeLayout
                android:id="@+id/bar2"
                android:layout_width="match_parent"
                android:layout_height="3dp"
                android:layout_alignParentBottom="true"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_marginLeft="3dp"
                android:layout_marginRight="3dp"
                android:background="@color/bidsy">

            </RelativeLayout>

            <ImageView
                android:id="@+id/imageView4351"
                android:layout_width="wrap_content"
                android:layout_height="22dp"
                android:layout_centerHorizontal="true"
                android:layout_centerVertical="true"
                app:srcCompat="@mipmap/bidsytab" />
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/tab3"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:clickable="true"
            android:onClick="tabClick">

            <RelativeLayout
                android:id="@+id/bar3"
                android:layout_width="match_parent"
                android:layout_height="3dp"
                android:layout_alignParentBottom="true"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_marginLeft="3dp"
                android:layout_marginRight="3dp"
                android:background="@color/bidsy">

            </RelativeLayout>

            <ImageView
                android:id="@+id/imageView4356"
                android:layout_width="wrap_content"
                android:layout_height="22dp"
                android:layout_centerHorizontal="true"
                android:layout_centerVertical="true"
                app:srcCompat="@mipmap/bidsytab" />
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/tab4"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:clickable="true"
            android:onClick="tabClick">

            <RelativeLayout
                android:id="@+id/bar4"
                android:layout_width="match_parent"
                android:layout_height="3dp"
                android:layout_alignParentBottom="true"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_marginLeft="3dp"
                android:layout_marginRight="3dp"
                android:background="@color/bidsy">

            </RelativeLayout>

            <ImageView
                android:id="@+id/imageView43523"
                android:layout_width="wrap_content"
                android:layout_height="22dp"
                android:layout_centerHorizontal="true"
                android:layout_centerVertical="true"
                app:srcCompat="@mipmap/bidsytab" />
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/tab5"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:clickable="true"
            android:onClick="tabClick">

            <RelativeLayout
                android:id="@+id/bar5"
                android:layout_width="match_parent"
                android:layout_height="3dp"
                android:layout_alignParentBottom="true"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_marginLeft="3dp"
                android:layout_marginRight="3dp"
                android:background="@color/bidsy">

            </RelativeLayout>

            <ImageView
                android:id="@+id/imageView435233"
                android:layout_width="wrap_content"
                android:layout_height="22dp"
                android:layout_alignParentEnd="true"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                app:srcCompat="@mipmap/bidsytab" />
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/tab6"
            android:layout_width="0px"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:clickable="true"
            android:onClick="tabClick">

            <RelativeLayout
                android:id="@+id/bar6"
                android:layout_width="match_parent"
                android:layout_height="3dp"
                android:layout_alignParentBottom="true"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_marginLeft="3dp"
                android:layout_marginRight="3dp"
                android:background="@color/bidsy">

            </RelativeLayout>

            <ImageView
                android:id="@+id/imageView435"
                android:layout_width="wrap_content"
                android:layout_height="22dp"
                android:layout_centerHorizontal="true"
                android:layout_centerVertical="true"
                app:srcCompat="@mipmap/bidsytab" />
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/tab7"
            android:layout_width="0px"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:clickable="true"
            android:onClick="tabClick">

            <RelativeLayout
                android:id="@+id/bar7"
                android:layout_width="match_parent"
                android:layout_height="3dp"
                android:layout_alignParentBottom="true"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_marginLeft="3dp"
                android:layout_marginRight="3dp"
                android:background="@color/bidsy">

            </RelativeLayout>

            <ImageView
                android:id="@+id/imageView43"
                android:layout_width="wrap_content"
                android:layout_height="22dp"
                android:layout_centerHorizontal="true"
                android:layout_centerVertical="true"
                app:srcCompat="@mipmap/bidsytab" />
        </RelativeLayout>
    </LinearLayout>


</RelativeLayout>

加载元素的代码:

private void loadScrollElements() {

    LinearLayout yourLayout = (LinearLayout) findViewById(R.id.scrollLayout);

    for (int i = 1; i < 25; i++) {
        TextView tv = new TextView(this);
        tv.setText(i + "");
        tv.setLayoutParams(new LinearLayout.LayoutParams(
                LinearLayout.LayoutParams.WRAP_CONTENT,
                LinearLayout.LayoutParams.WRAP_CONTENT));     

        tv.setTextSize(20);
        yourLayout.addView(tv);
    }
}

我在mainScroll项目中看到11到24 +空白区域。

奇怪的是,空白空间似乎是开始时缺少元素的空间。

enter image description here

enter image description here

为什么我看不到1..10项?

1 个答案:

答案 0 :(得分:1)

android:layout_gravity="center"的{​​{1}}会导致问题。当您将其更改为LinearLayout时,所有android:layout_gravity="center_vertical"都会再次显示。

我不确定,但我猜是因为TextView以编程方式添加,TextView误算了它的水平中心。

如果我错了,请纠正我。