要在Android中创建组件之间的分隔线,可以使用RecyclerView和DividerItemDecoration。
首先,在你的项目中添加RecyclerView依赖项。在build.gradle文件中的dependencies部分添加以下代码:
implementation 'androidx.recyclerview:recyclerview:1.2.1'
接下来,创建一个新的分隔线类DividerItemDecoration.java,将以下代码添加到该类中:
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.drawable.Drawable;
import android.view.View;
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.RecyclerView;
public class DividerItemDecoration extends RecyclerView.ItemDecoration {
private Drawable divider;
public DividerItemDecoration(Context context, int resId) {
divider = ContextCompat.getDrawable(context, resId);
}
@Override
public void onDrawOver(Canvas c, RecyclerView parent, RecyclerView.State state) {
int left = parent.getPaddingLeft();
int right = parent.getWidth() - parent.getPaddingRight();
int childCount = parent.getChildCount();
for (int i = 0; i < childCount - 1; i++) {
View child = parent.getChildAt(i);
RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) child.getLayoutParams();
int top = child.getBottom() + params.bottomMargin;
int bottom = top + divider.getIntrinsicHeight();
divider.setBounds(left, top, right, bottom);
divider.draw(c);
}
}
}
接下来,在你的Activity或Fragment中,将RecyclerView的布局文件中添加以下代码:
android:dividerHeight="1dp"
/>
最后,在你的Activity或Fragment中,使用以下代码设置分隔线:
RecyclerView recyclerView = findViewById(R.id.recyclerView);
DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(this, R.drawable.divider); // R.drawable.divider是你的分隔线样式
recyclerView.addItemDecoration(dividerItemDecoration);
这样,你就可以在RecyclerView的组件之间创建分隔线了。