0

主要的xml:

    <HorizontalScrollView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/navlayout"
        android:id="@+id/scroll"
        android:padding="0dp"> 

         <LinearLayout

            android:id="@+id/horizontallayout"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="10dp"
            android:layout_marginLeft="10dp"

            android:orientation="horizontal"
             /> 

 </HorizontalScrollView>

添加布局:

 <RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
                    android:id="@+id/fblayout1"
                    android:layout_width="300dp"

                    android:layout_height="fill_parent"
                    android:background="@drawable/facebook1_texture"
                    android:orientation="vertical"
                    android:padding="5dp" >

                    <RelativeLayout
                        android:id="@+id/navlayout1"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content" >

                        <ImageView
                            android:id="@+id/image"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_alignParentLeft="true"
                            android:layout_centerInParent="true"
                            android:src="@drawable/facebook_small" />

                        <TextView
                            android:id="@+id/textheader1"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_centerInParent="true"
                            android:text="Facebook"
                            android:textColor="#ffffff"
                            android:textSize="20dp"
                            android:textStyle="bold" />

                        <ImageView
                            android:id="@+id/settings1"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_alignParentRight="true"
                            android:layout_centerInParent="true"
                            android:layout_marginRight="5dp"
                            android:background="@drawable/settins_icon"
                            android:visibility="gone" />

                        <ImageView
                            android:id="@+id/close1"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_alignParentRight="true"
                            android:layout_centerInParent="true"
                            android:layout_marginRight="5dp"
                            android:background="@drawable/cross_icon"
                            android:visibility="gone" />
                    </RelativeLayout>

                    <TextView

                        android:id="@+id/note1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_below="@+id/navlayout1"
                        android:padding="5dp"
                        android:text="My Dashboard needs your permission to access your Facebook account before displaying your feed. Login below to give your permission. You will be sent to Facebook first to confirm this."
                        android:textColor="#ffffff"
                        android:textSize="18dp" />

                    <ListView
                        android:id="@+id/list1"
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"
                        android:layout_below="@+id/navlayout1"
                        android:padding="5dp"
                        android:visibility="gone">
                    </ListView>

                    <RelativeLayout
                        android:id="@+id/centerlayout1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_centerInParent="true"
                        android:visibility="gone" >

                        <ImageView
                            android:id="@+id/fbimage1"
                            android:layout_width="100dp"
                            android:layout_height="100dp"
                            android:layout_centerInParent="true" />

                        <TextView
                            android:id="@+id/text1"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_below="@+id/fbimage1"
                            android:layout_centerHorizontal="true"
                            android:layout_marginTop="20dp"
                            android:text="Facebook"
                            android:textColor="#ffffff"
                            android:textSize="15dp" />
                    </RelativeLayout>

                    <com.databoard.facebook.LoginButton
                        android:id="@+id/fb1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignParentBottom="true"
                        android:background="@drawable/login_btn"
                        android:layout_marginBottom="20dp" />

                    <ImageView
                        android:id="@+id/logout1"
                        android:layout_marginBottom="20dp"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignParentBottom="true"
                        android:layout_centerHorizontal="true"
                        android:background="@drawable/logout_btn"
                        android:padding="10dp"
                        android:visibility="gone" />
                </RelativeLayout>

添加视图的代码:

      view= getLayoutInflater().inflate(R.layout.fblayout, null);
RelativeLayout.LayoutParams llp=new RelativeLayout.LayoutParams(400,LayoutParams.WRAP_CONTENT);

  llp.setMargins(0, 0, 100, 0);
  view.setLayoutParams(llp);

  llTotal.addView(view);

上面的代码我用来向水平滚动视图添加视图,但我没有在添加的视图之间获得空间。

我尝试通过为 Linearlayout 和添加的 xml 提供填充,但它对我不起作用。我不明白为什么 llp.setMargins(0, 0, 100, 0);
不适用于我的情况。

4

3 回答 3

1

我有一个类似的问题。我尝试在任何地方添加边距和填充,Horizo​​ntalScrollView 的子视图之间仍然不会有间隙。

最后我使用了这个解决方法:在每个子视图中,我使用了一个 LinearLayout 并在我的“真实”内容之前和之后添加了“spacer”TextView 元素(带有空格作为文本的 TextView)。这样这些spacer TextViews就变成了gap。

于 2013-11-29T00:12:25.530 回答
0

我不确定我是否理解您的代码以及您想要实现的目标。您正在将边距添加到从 inflating 创建的 superview 中fblayout.xml。如果我正确理解您的代码,那应该是RelativeLayout。但是,然后您将该 relativelayout 添加到LinearLayoutin main.xml。因此,RelativeLayout在 childview 上设置参数LinearLayout是行不通的。老实说,我本以为会有一些例外,因为所有子视图总是根据其直接父级具有布局参数。因此,这意味着您通常需要在代码中设置LinearLayout.LayoutParams变量view

无论如何,我的建议是RelativeLayout在 xml 中配置边距。

 <RelativeLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
                android:id="@+id/fblayout1"
                android:layout_width="300dp"
                android:layout_height="fill_parent"
==>             android:layout_marginLeft="10dp"


                android:background="@drawable/facebook1_texture"
                android:orientation="vertical"
                android:padding="5dp" >

并删除程序化布局代码。没有试过这个,但它应该可以解决问题。

您可能会考虑的一件事是在 Eclipse 中使用 Hierarchy Viewer 并检查设备或模拟器上生成的视图层次结构。至少你可以看到你的哪些设置仍然存在。

最后,您可以做的最后一个技巧是静态构建整个布局main.xml并对其进行配置,使其看起来像您想要的那样。只有这样你才应该开始让它动态化。

于 2013-06-26T06:56:02.707 回答
0

请在添加的布局上设置填充。

<RelativeLayout
    android:id="@+id/navlayout1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@android:color/darker_gray" >

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <ImageView
            android:id="@+id/image"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_centerInParent="true" />

        <TextView
            android:id="@+id/textheader1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:text="Facebook"
            android:textColor="#ffffff"
            android:textSize="20dp"
            android:textStyle="bold" />

        <ImageView
            android:id="@+id/settings1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_centerInParent="true"
            android:layout_marginRight="5dp"
            android:visibility="gone" />

        <ImageView
            android:id="@+id/close1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_centerInParent="true"
            android:layout_marginRight="5dp"
            android:background="@drawable/cross_icon"
            android:visibility="gone" />
    </RelativeLayout>

    <TextView
        android:id="@+id/note1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/navlayout1"
        android:padding="5dp"
        android:text="My Dashboard needs your permission to access your Facebook account before displaying your feed. Login below to give your permission. You will be sent to Facebook first to confirm this."
        android:textColor="#ffffff"
        android:textSize="18dp" />

    <ListView
        android:id="@+id/list1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_below="@+id/navlayout1"
        android:padding="5dp"
        android:visibility="gone" >
    </ListView>

    <RelativeLayout
        android:id="@+id/centerlayout1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:visibility="gone" >

        <ImageView
            android:id="@+id/fbimage1"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:layout_centerInParent="true" />

        <TextView
            android:id="@+id/text1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/fbimage1"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="20dp"
            android:text="Facebook"
            android:textColor="#ffffff"
            android:textSize="15dp" />
    </RelativeLayout>

    <Button
        android:id="@+id/fb1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="20dp"
        android:background="@drawable/login_btn" />

    <ImageView
        android:id="@+id/logout1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="20dp"
        android:padding="10dp"
        android:visibility="gone" />
</RelativeLayout>

于 2013-06-26T07:21:27.977 回答