main 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);
上面的代码我用来向Horizontal Scrollview添加视图,但是我没有在添加的视图之间获得空间。
我尝试给Linearlayout和Added xml提供填充,但它对我没用。
我不明白为什么
llp.setMargins(0,0,100,0);
对我的情况不起作用。
答案 0 :(得分:1)
我有类似的问题。我尝试在任何地方添加边距和填充,而且HorizontalScrollView的子视图仍然没有间隙。
最后我使用了这个解决方法:在每个子视图中,我使用了一个LinearLayout,并在我的“真实”内容之前和之后添加了“spacer”TextView元素(带有空格作为文本的TextView)。因此,这些间隔TextViews就成了差距。
答案 1 :(得分:0)
我不确定我理解您的代码以及您要实现的目标。您正在为通过膨胀fblayout.xml
创建的超级视图添加边距。如果我理解你的代码应该是RelativeLayout。但是,您将这个relativelayout添加到LinearLayout
中的main.xml
。因此在RelativeLayout
的子视图上使用LinearLayout
参数不起作用。
说实话,我会期待一些例外,因为根据他们的直接父母,所有子视图总是有布局参数。这意味着您通常需要在代码中的LinearLayout.LayoutParams
变量上设置view
。
无论如何,我的建议是在xml中RelativeLayout
配置边距。
<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
中静态构建整个布局并对其进行配置,使其看起来像您想要的那样。只有这样你才能开始变得动态。
答案 2 :(得分: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>