프로그래밍 방식으로 세로 선형 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);
*편집하다. 또한 MarginLayoutParams를 매개 변수로 사용하여 뷰를 선형 레이아웃에 추가했습니다 (아래 참조). 이것은 또한 작동하지 않았습니다.
MarginLayoutParams params = new MarginLayoutParams(linearLayout.getLayoutParams());
linearLayout.setMargins(0, 10, 0, 10);
linearLayout.addView(view, params);
답변
당신은 android:layout_margin<Side>
아이들에게 있어야 합니다. 패딩은 내부입니다.
답변
API> = 11 솔루션 :
패딩을 분배기에 통합 할 수 있습니다. 아무것도 사용하지 않는 경우 키가 큰 빈 드로어 블을 만들고 LinearLayout
‘분배기 로 설정하십시오 .
<LinearLayout
android:showDividers="middle"
android:divider="@drawable/empty_tall_divider"
...>...</LinearLayout>
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>
답변
Android는 이제 보기 사이에 공간 보기 추가를 지원합니다 . 4.0 ICS부터 사용할 수 있습니다.
답변
아래 샘플은 프로그래밍 방식으로 필요한 것을 수행합니다. 고정 크기 (140,398)를 사용했습니다.
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(140, 398);
layoutParams.setMargins(24, 0, 24, 0);
layout.addView(button,layoutParams);
답변
API 레벨 14부터 (투명한) 디바이더 드로어 블을 추가 할 수 있습니다.
android:divider="@drawable/divider"
android:showDividers="middle"
그리고 그것은 당신을 위해 나머지를 처리합니다!
답변
LinearLayout.LayoutParams
대신에 사용하십시오 MarginLayoutParams
. 여기 문서가 있습니다.
답변
ActionBarSherlock 을 사용하는 경우 com.actionbarsherlock.internal.widget.IcsLinearLayout을 사용할 수 있습니다.
<com.actionbarsherlock.internal.widget.IcsLinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:divider="@drawable/list_view_divider"
android:dividerPadding="2dp"
android:showDividers="middle" >
...
</com.actionbarsherlock.internal.widget.IcsLinearLayout>