我正在尝试创建一个可点击的图像按钮列表,其中包含适合HorizontalScrollView的文本。图像/内容将以编程方式设置。执行此操作的最佳方法似乎是LinearLayout,然后包含一系列RelativeLayouts,其中包含显示相关内容的视图。但是,我在每个RelativeLayout之间获取空间时遇到了麻烦。即使我已经在xml中设置了边距并且在编程上它们似乎被忽略了,而且RelativeLayout对象也被挤压在一起。
一些代码:
<RelativeLayout
android:id="@+id/details_image_button"
android:layout_width="75dp"
android:layout_height="100dp"
android:layout_marginLeft="10dp"
android:background="#00ff78">
<ImageView
android:id="@+id/loadable_image_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
<TextView
android:id="@+id/details_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#b083ef"
android:text="PH - Info about title"
android:layout_alignParentBottom="true"
/>
//Code below is looped through several times
RelativeLayout imageButtonLayout = (RelativeLayout) inflater.inflate(R.layout.details_image_button, null);
RelativeLayout.LayoutParams imageButtonLayoutParams = new RelativeLayout.LayoutParams(100, 100);
imageButtonLayoutParams.setMargins(10, 10, 10, 10);
imageButtonLayout.setLayoutParams(imageButtonLayoutParams);
我得到的当前结果是一个稳定的绿色(RelativeLayout的背景颜色),而不是一组RelativeLayouts的预期结果,每个RelativeLayouts之间有一个空格。我怎样才能最好地在每个RelativeLayout之间获得保证金或缓冲?
答案 0 :(得分:3)
如果您的RelativeLayout
位于LinearLayout
内,则您需要使用的LayoutParams
为LinearLayout.LayoutParams
:
RelativeLayout imageButtonLayout = (RelativeLayout)
inflater.inflate(R.layout.details_image_button, null);
LinearLayout.LayoutParams imageButtonLayoutParams = new
LinearLayout.LayoutParams(100, 100);
imageButtonLayoutParams.setMargins(10, 10, 10, 10);
imageButtonLayout.setLayoutParams(imageButtonLayoutParams);
LayoutParams来自父母,而不是孩子。