0
I have been using RecycleView with an horizontalScrollView to create this(don't mind the blue ball)RecycleView不同寬度的大小會發生什麼每個項目
取決於標籤的文字大小所有其他的標籤後,該來的就它們之間有巨大的差距,下面我留下的圖像顯示你發生了什麼事。
在這裏,我從回收視圖中的XML文件。
<HorizontalScrollView
android:id="@+id/searchNeighborhoodsHorizontalScroll"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:layout_below="@id/searchNeighborhoodsRelative"
android:layout_marginTop="10dp"
android:visibility="visible">
<android.support.v7.widget.RecyclerView
android:id="@+id/searchNeighborhoodsTagView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scrollbars="vertical"
android:visibility="visible" />
</HorizontalScrollView>
下面是從回收項目
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="35dp"
android:layout_marginLeft="5dp"
android:background="@drawable/tag_background">
<TextView
android:id="@+id/tagText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="20dp"
android:text="Text test"
android:textColor="#FFFFFF" />
<ImageButton
android:id="@+id/tagDeleteButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="15dp"
android:layout_marginRight="20dp"
android:layout_toRightOf="@id/tagText"
android:background="@android:color/transparent"
android:src="@drawable/ic_tag_close" />
設置適配器
GridLayoutManager manager = new GridLayoutManager(getActivity(), tagList.size(), GridLayoutManager.VERTICAL, false);
RecyclerView tagView = (RecyclerView) v.findViewById(R.id.searchNeighborhoodsTagView);
tagView.setLayoutManager(manager);
tagView.setAdapter(adapter);
和轉接
public TagsAdapter(Context context, ArrayList<String> items) {
this.context = context;
this.items = items;
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = inflater.inflate(R.layout.tag_item, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
holder.setupCard(items, position, context);
}
@Override
public int getItemCount() {
return items.size();
}
@Override
public long getItemId(int position) {
return 0;
}
public static class ViewHolder extends RecyclerView.ViewHolder {
private final TextView tagText;
private final ImageButton tagDeleteButton;
public ViewHolder(View itemView) {
super(itemView);
tagText = (TextView) itemView.findViewById(R.id.tagText);
tagDeleteButton = (ImageButton) itemView.findViewById(R.id.tagDeleteButton);
setFont();
}
private void setFont() {
tagText.setTypeface(LarSingleton.exoMedium);
}
public void setupCard(ArrayList<String> items, int position, Context context) {
tagText.setText(items.get(position).toString());
}
}
的XML
你們有什麼想法解決這個問題嗎?或者爲什麼會發生?
我試圖消除所有的利潤,但同樣的情況,我總是有之間的間隙元素由於元素的文本大小。我不能刪除水平滾動,因爲如果我做..由於某種原因一切崩潰 –
試過這個GridLayoutManager.HORIZONTAL? –
哥們你是天才我愛你= ** –