我有一个Android Flow布局hash_tag_layout
<org.apmem.tools.layouts.FlowLayout
android:id="@+id/hash_tag_layout"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/view_padding"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin">
</org.apmem.tools.layouts.FlowLayout>
问题是我无法更改动态添加视图的边距。
int pixels = convertDensityPixelsToPixels(5);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
lp.setMargins(0,0,pixels,pixels); //<---<< This line has no effect
TextView tv1 = new TextView(ctx);
tv1.setPadding(pixels,pixels,pixels,pixels); //int left top right bottom
tv1.setBackground(ctx.getResources().getDrawable(R.drawable.hash_tag_bubble_format));//drawable
tv1.setText("# Asd");
tv1.setLayoutParams(lp);
layout.addView(tv1);
如果我将hash_tag_layout
布局更改为常规线性布局,则会获得边距!
<LinearLayout
android:id="@+id/hash_tag_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
</LinearLayout>
所以我首先要说明Android Flow布局不允许我为动态添加的视图添加边距!
知道如何更改源代码或找到解决方法吗?也许在动态添加的视图周围添加透明边框?
答案 0 :(得分:0)
只需将您的LinearLayout.LayoutParams
更改为FlowLayout.LayoutParams
。
Here是GitHub上的一个问题讨论。
我看到您3年前问了一个问题,但我也遇到了同样的问题:)