我以编程方式将自定义视图添加到垂直LinearLayout,我希望视图之间有一些空间.我尝试添加:setPadding(0,1,0,1)到我的CustomView构造函数,但这似乎没有任何影响.有什么建议?
*有人指出我应该使用保证金.由于我是动态添加视图,因此我需要从代码中设置边距(而不是在xml中).我相信这样做的方法如下,但它不起作用.
public class MyView extends View
{
public MyView (Context context)
{
super(context);
MarginLayoutParams params = new MarginLayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.setMargins(0, 10, 0, 10);
setLayoutParams(params);
Run Code Online (Sandbox Code Playgroud)
*编辑.我还尝试使用MarginLayoutParams作为参数,同时将视图添加到线性布局(如下所示).这也行不通:
MarginLayoutParams params = new MarginLayoutParams(linearLayout.getLayoutParams());
linearLayout.setMargins(0, 10, 0, 10);
linearLayout.addView(view, params);
Run Code Online (Sandbox Code Playgroud)
谢谢.
riw*_*nyk 170
该API> = 11的解决方案:
您可以将填充集成到分隔符中.如果您使用none,只需创建一个高空的drawable并将其设置为LinearLayout分隔符:
<LinearLayout
android:showDividers="middle"
android:divider="@drawable/empty_tall_divider"
...>...</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
empty_tall_divider.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<size
android:height="40dp"
android:width="0dp"/>
</shape>
Run Code Online (Sandbox Code Playgroud)
Tho*_*mas 119
你应该android:layout_margin<Side>对孩子们.填充是内部的.
Gor*_*rky 24
下面的示例只是以编程方式执行您需要的操作.我使用了固定大小(140,398).
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(140, 398);
layoutParams.setMargins(24, 0, 24, 0);
layout.addView(button,layoutParams);
Run Code Online (Sandbox Code Playgroud)
小智 7
您只需要使用具有layout_weight的线性布局来包装项目。要将项目水平分隔,请使用此
<LinearLayout
...
...
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center">
// your item
</LinearLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
从API级别14开始,您可以仅添加一个(透明的)分隔器drawable:
android:divider="@drawable/divider"
android:showDividers="middle"
Run Code Online (Sandbox Code Playgroud)
它将为您处理其余的一切!
小智 5
添加视图后尝试添加Space小部件,如下所示:
layout.addView(view)
val space = Space(context)
space.minimumHeight = spaceInterval
layout.addView(space)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
195272 次 |
| 最近记录: |