Card layout for folders

pull/161/head
M66B 5 years ago
parent 926aa476b1
commit db202877b0

@ -37,12 +37,14 @@ import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;
import androidx.appcompat.widget.PopupMenu;
import androidx.cardview.widget.CardView;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.LifecycleObserver;
@ -73,8 +75,12 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
private LifecycleOwner owner;
private LayoutInflater inflater;
private boolean cards;
private boolean circular;
private boolean subscriptions;
private boolean debug;
private int dp3;
private int dp12;
private float textSize;
private int colorUnread;
@ -87,8 +93,10 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
private NumberFormat NF = NumberFormat.getNumberInstance();
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener, View.OnLongClickListener {
private CardView card;
private View view;
private View vwColor;
private CardView vwColor;
private ImageView ivState;
private ImageView ivReadOnly;
@ -117,8 +125,10 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
ViewHolder(View itemView) {
super(itemView);
card = itemView.findViewById(R.id.card);
view = itemView.findViewById(R.id.clItem);
vwColor = itemView.findViewById(R.id.vwColor);
ivState = itemView.findViewById(R.id.ivState);
ivReadOnly = itemView.findViewById(R.id.ivReadOnly);
@ -141,6 +151,22 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
tvKeywords = itemView.findViewById(R.id.tvKeywords);
tvError = itemView.findViewById(R.id.tvError);
if (listener == null) {
if (!cards) {
FrameLayout.LayoutParams lparam = (FrameLayout.LayoutParams) card.getLayoutParams();
lparam.setMargins(0, 0, 0, 0);
card.setLayoutParams(lparam);
card.setRadius(0);
card.setElevation(0);
card.setCardBackgroundColor(Color.TRANSPARENT);
view.setPadding(0, 0, 0, 0);
}
vwColor.setRadius(circular ? dp3 / 2f : 0f);
}
}
private void wire() {
@ -657,9 +683,12 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
if (zoom == 0)
zoom = 1;
this.circular = prefs.getBoolean("circular", true);
this.cards = prefs.getBoolean("cards", true);
this.subscriptions = prefs.getBoolean("subscriptions", false);
this.debug = prefs.getBoolean("debug", false);
this.dp3 = Helper.dp2pixels(context, 12);
this.dp12 = Helper.dp2pixels(context, 12);
this.textSize = Helper.getTextSize(context, zoom);
this.colorUnread = Helper.resolveColor(context, R.attr.colorUnread);

@ -66,6 +66,8 @@ public class FragmentFolders extends FragmentBase {
private FloatingActionButton fab;
private FloatingActionButton fabError;
private boolean cards;
private long account;
private boolean show_hidden = false;
private String searching = null;
@ -82,6 +84,9 @@ public class FragmentFolders extends FragmentBase {
// Get arguments
Bundle args = getArguments();
account = args.getLong("account", -1);
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
cards = prefs.getBoolean("cards", true);
}
@Override
@ -137,17 +142,19 @@ public class FragmentFolders extends FragmentBase {
LinearLayoutManager llm = new LinearLayoutManager(getContext());
rvFolder.setLayoutManager(llm);
DividerItemDecoration itemDecorator = new DividerItemDecoration(getContext(), llm.getOrientation()) {
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
if (view.findViewById(R.id.clItem).getVisibility() == View.GONE)
outRect.setEmpty();
else
super.getItemOffsets(outRect, view, parent, state);
}
};
itemDecorator.setDrawable(getContext().getDrawable(R.drawable.divider));
rvFolder.addItemDecoration(itemDecorator);
if (!cards) {
DividerItemDecoration itemDecorator = new DividerItemDecoration(getContext(), llm.getOrientation()) {
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
if (view.findViewById(R.id.clItem).getVisibility() == View.GONE)
outRect.setEmpty();
else
super.getItemOffsets(outRect, view, parent, state);
}
};
itemDecorator.setDrawable(getContext().getDrawable(R.drawable.divider));
rvFolder.addItemDecoration(itemDecorator);
}
adapter = new AdapterFolder(this, account, show_hidden, null);
rvFolder.setAdapter(adapter);

@ -4,245 +4,258 @@
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/clItem"
<androidx.cardview.widget.CardView
android:id="@+id/card"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/activatableItemBackground"
android:foreground="?attr/selectableItemBackground">
<View
android:id="@+id/vwColor"
android:layout_width="6dp"
android:layout_height="0dp"
android:background="?attr/colorAccent"
app:layout_constraintBottom_toBottomOf="@+id/paddingBottom"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/ivState"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginStart="6dp"
android:contentDescription="@string/title_legend_connection_state"
app:layout_constraintBottom_toBottomOf="@+id/tvName"
app:layout_constraintStart_toEndOf="@id/vwColor"
app:layout_constraintTop_toTopOf="@+id/tvName"
app:srcCompat="@drawable/baseline_cloud_off_24" />
<ImageView
android:id="@+id/ivReadOnly"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginStart="6dp"
app:layout_constraintStart_toEndOf="@id/vwColor"
app:layout_constraintTop_toTopOf="@+id/tvType"
app:srcCompat="@drawable/baseline_visibility_24" />
<View
android:id="@+id/vwLevel"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="@+id/tvKeywords"
app:layout_constraintStart_toEndOf="@id/ivState"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/ivExpander"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_gravity="center_vertical|center_horizontal"
android:background="?android:attr/selectableItemBackgroundBorderless"
android:contentDescription="@string/title_legend_expander"
android:paddingStart="12dp"
android:paddingEnd="12dp"
app:layout_constraintBottom_toBottomOf="@+id/paddingBottom"
app:layout_constraintStart_toEndOf="@+id/vwLevel"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/expander" />
<ImageView
android:id="@+id/ivUnified"
android:layout_width="30dp"
android:layout_height="24dp"
android:contentDescription="@string/title_unified_folder"
android:paddingEnd="6dp"
app:layout_constraintBottom_toBottomOf="@+id/tvName"
app:layout_constraintStart_toEndOf="@id/ivExpander"
app:layout_constraintTop_toTopOf="@+id/tvName"
app:srcCompat="@drawable/baseline_folder_special_24" />
<ImageView
android:id="@+id/ivSubscribed"
android:layout_width="30dp"
android:layout_height="24dp"
android:contentDescription="@string/title_legend_notify"
android:paddingEnd="6dp"
app:layout_constraintBottom_toBottomOf="@+id/tvName"
app:layout_constraintStart_toEndOf="@id/ivUnified"
app:layout_constraintTop_toTopOf="@+id/tvName"
app:srcCompat="@drawable/baseline_bookmark_24" />
<ImageView
android:id="@+id/ivRule"
android:layout_width="30dp"
android:layout_height="24dp"
android:contentDescription="@string/title_edit_rules"
android:paddingEnd="6dp"
app:layout_constraintBottom_toBottomOf="@+id/tvName"
app:layout_constraintStart_toEndOf="@id/ivSubscribed"
app:layout_constraintTop_toTopOf="@+id/tvName"
app:srcCompat="@drawable/baseline_filter_list_24" />
<ImageView
android:id="@+id/ivNotify"
android:layout_width="30dp"
android:layout_height="24dp"
android:contentDescription="@string/title_legend_notify"
android:paddingEnd="6dp"
app:layout_constraintBottom_toBottomOf="@+id/tvName"
app:layout_constraintStart_toEndOf="@id/ivRule"
app:layout_constraintTop_toTopOf="@+id/tvName"
app:srcCompat="@drawable/baseline_notifications_24" />
<TextView
android:id="@+id/tvName"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:layout_marginEnd="6dp"
android:ellipsize="end"
android:gravity="center_vertical"
android:minHeight="24dp"
android:singleLine="true"
android:text="Name"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
app:layout_constraintEnd_toStartOf="@+id/tvMessages"
app:layout_constraintStart_toEndOf="@id/ivNotify"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tvMessages"
android:layout_width="wrap_content"
android:layout_height="24dp"
android:layout_marginEnd="6dp"
android:gravity="center_vertical"
android:text="123"
android:textAppearance="@android:style/TextAppearance.Small"
app:layout_constraintBottom_toBottomOf="@+id/tvName"
app:layout_constraintEnd_toStartOf="@+id/ivMessages"
app:layout_constraintTop_toTopOf="@+id/tvName" />
<ImageView
android:id="@+id/ivMessages"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginEnd="12dp"
android:contentDescription="@string/title_legend_count"
app:layout_constraintBottom_toBottomOf="@+id/tvName"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/tvName"
app:srcCompat="@drawable/baseline_mail_outline_24" />
<ImageView
android:id="@+id/ivType"
android:layout_width="30dp"
android:layout_height="24dp"
android:contentDescription="@string/title_legend_folder_type"
android:paddingEnd="6dp"
app:layout_constraintBottom_toBottomOf="@+id/tvType"
app:layout_constraintStart_toEndOf="@id/ivExpander"
app:layout_constraintTop_toTopOf="@+id/tvType"
app:srcCompat="@drawable/baseline_inbox_24" />
<TextView
android:id="@+id/tvType"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:gravity="center_vertical"
android:maxLines="1"
android:minHeight="24dp"
android:text="type"
android:textAppearance="@android:style/TextAppearance.Small"
android:textStyle="italic"
app:layout_constraintStart_toEndOf="@id/ivType"
app:layout_constraintTop_toBottomOf="@id/tvName" />
<TextView
android:id="@+id/tvTotal"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="6dp"
android:layout_marginTop="6dp"
android:layout_marginEnd="6dp"
android:gravity="center_vertical"
android:maxLines="1"
android:minHeight="24dp"
android:text="12,345"
android:textAppearance="@android:style/TextAppearance.Small"
android:textStyle="italic"
app:layout_constraintEnd_toStartOf="@+id/tvAfter"
app:layout_constraintStart_toEndOf="@id/tvType"
app:layout_constraintTop_toBottomOf="@id/tvName" />
<TextView
android:id="@+id/tvAfter"
android:layout_width="wrap_content"
android:layout_height="24dp"
android:layout_marginEnd="6dp"
android:gravity="center_vertical"
android:text="30"
android:textAppearance="@android:style/TextAppearance.Small"
app:layout_constraintBottom_toBottomOf="@id/tvType"
app:layout_constraintEnd_toStartOf="@+id/ivSync"
app:layout_constraintTop_toTopOf="@+id/tvType" />
<ImageView
android:id="@+id/ivSync"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginEnd="12dp"
android:contentDescription="@string/title_legend_sync_state"
app:layout_constraintBottom_toBottomOf="@id/tvType"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/tvType"
app:srcCompat="@drawable/baseline_sync_24" />
<TextView
android:id="@+id/tvKeywords"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:layout_marginEnd="12dp"
android:gravity="center_vertical"
android:text="Keywords"
android:textAppearance="@android:style/TextAppearance.Small"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/ivExpander"
app:layout_constraintTop_toBottomOf="@id/tvType" />
<TextView
android:id="@+id/tvError"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:layout_marginEnd="12dp"
android:text="error"
android:textAppearance="@style/TextAppearance.AppCompat.Small"
android:textColor="?attr/colorWarning"
android:textIsSelectable="true"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/ivExpander"
app:layout_constraintTop_toBottomOf="@id/tvKeywords" />
<View
android:id="@+id/paddingBottom"
android:layout_margin="6dp"
app:cardBackgroundColor="?attr/colorCardBackground"
app:cardCornerRadius="6dp"
app:cardElevation="6dp">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/clItem"
android:layout_width="match_parent"
android:layout_height="6dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvError" />
</androidx.constraintlayout.widget.ConstraintLayout>
android:layout_height="wrap_content"
android:background="?attr/activatableItemBackground"
android:foreground="?attr/selectableItemBackground"
android:padding="6dp">
<androidx.cardview.widget.CardView
android:id="@+id/vwColor"
android:layout_width="6dp"
android:layout_height="0dp"
app:cardBackgroundColor="?attr/colorAccent"
app:cardCornerRadius="1.5dp"
app:cardElevation="0dp"
app:layout_constraintBottom_toBottomOf="@+id/paddingBottom"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/ivState"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginStart="6dp"
android:contentDescription="@string/title_legend_connection_state"
app:layout_constraintBottom_toBottomOf="@+id/tvName"
app:layout_constraintStart_toEndOf="@id/vwColor"
app:layout_constraintTop_toTopOf="@+id/tvName"
app:srcCompat="@drawable/baseline_cloud_off_24" />
<ImageView
android:id="@+id/ivReadOnly"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginStart="6dp"
app:layout_constraintStart_toEndOf="@id/vwColor"
app:layout_constraintTop_toTopOf="@+id/tvType"
app:srcCompat="@drawable/baseline_visibility_24" />
<View
android:id="@+id/vwLevel"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="@+id/tvKeywords"
app:layout_constraintStart_toEndOf="@id/ivState"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/ivExpander"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_gravity="center_vertical|center_horizontal"
android:background="?android:attr/selectableItemBackgroundBorderless"
android:contentDescription="@string/title_legend_expander"
android:paddingStart="12dp"
android:paddingEnd="12dp"
app:layout_constraintBottom_toBottomOf="@+id/paddingBottom"
app:layout_constraintStart_toEndOf="@+id/vwLevel"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/expander" />
<ImageView
android:id="@+id/ivUnified"
android:layout_width="30dp"
android:layout_height="24dp"
android:contentDescription="@string/title_unified_folder"
android:paddingEnd="6dp"
app:layout_constraintBottom_toBottomOf="@+id/tvName"
app:layout_constraintStart_toEndOf="@id/ivExpander"
app:layout_constraintTop_toTopOf="@+id/tvName"
app:srcCompat="@drawable/baseline_folder_special_24" />
<ImageView
android:id="@+id/ivSubscribed"
android:layout_width="30dp"
android:layout_height="24dp"
android:contentDescription="@string/title_legend_notify"
android:paddingEnd="6dp"
app:layout_constraintBottom_toBottomOf="@+id/tvName"
app:layout_constraintStart_toEndOf="@id/ivUnified"
app:layout_constraintTop_toTopOf="@+id/tvName"
app:srcCompat="@drawable/baseline_bookmark_24" />
<ImageView
android:id="@+id/ivRule"
android:layout_width="30dp"
android:layout_height="24dp"
android:contentDescription="@string/title_edit_rules"
android:paddingEnd="6dp"
app:layout_constraintBottom_toBottomOf="@+id/tvName"
app:layout_constraintStart_toEndOf="@id/ivSubscribed"
app:layout_constraintTop_toTopOf="@+id/tvName"
app:srcCompat="@drawable/baseline_filter_list_24" />
<ImageView
android:id="@+id/ivNotify"
android:layout_width="30dp"
android:layout_height="24dp"
android:contentDescription="@string/title_legend_notify"
android:paddingEnd="6dp"
app:layout_constraintBottom_toBottomOf="@+id/tvName"
app:layout_constraintStart_toEndOf="@id/ivRule"
app:layout_constraintTop_toTopOf="@+id/tvName"
app:srcCompat="@drawable/baseline_notifications_24" />
<TextView
android:id="@+id/tvName"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:layout_marginEnd="6dp"
android:ellipsize="end"
android:gravity="center_vertical"
android:minHeight="24dp"
android:singleLine="true"
android:text="Name"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
app:layout_constraintEnd_toStartOf="@+id/tvMessages"
app:layout_constraintStart_toEndOf="@id/ivNotify"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tvMessages"
android:layout_width="wrap_content"
android:layout_height="24dp"
android:layout_marginEnd="6dp"
android:gravity="center_vertical"
android:text="123"
android:textAppearance="@android:style/TextAppearance.Small"
app:layout_constraintBottom_toBottomOf="@+id/tvName"
app:layout_constraintEnd_toStartOf="@+id/ivMessages"
app:layout_constraintTop_toTopOf="@+id/tvName" />
<ImageView
android:id="@+id/ivMessages"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginEnd="12dp"
android:contentDescription="@string/title_legend_count"
app:layout_constraintBottom_toBottomOf="@+id/tvName"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/tvName"
app:srcCompat="@drawable/baseline_mail_outline_24" />
<ImageView
android:id="@+id/ivType"
android:layout_width="30dp"
android:layout_height="24dp"
android:contentDescription="@string/title_legend_folder_type"
android:paddingEnd="6dp"
app:layout_constraintBottom_toBottomOf="@+id/tvType"
app:layout_constraintStart_toEndOf="@id/ivExpander"
app:layout_constraintTop_toTopOf="@+id/tvType"
app:srcCompat="@drawable/baseline_inbox_24" />
<TextView
android:id="@+id/tvType"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:gravity="center_vertical"
android:maxLines="1"
android:minHeight="24dp"
android:text="type"
android:textAppearance="@android:style/TextAppearance.Small"
android:textStyle="italic"
app:layout_constraintStart_toEndOf="@id/ivType"
app:layout_constraintTop_toBottomOf="@id/tvName" />
<TextView
android:id="@+id/tvTotal"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="6dp"
android:layout_marginTop="6dp"
android:layout_marginEnd="6dp"
android:gravity="center_vertical"
android:maxLines="1"
android:minHeight="24dp"
android:text="12,345"
android:textAppearance="@android:style/TextAppearance.Small"
android:textStyle="italic"
app:layout_constraintEnd_toStartOf="@+id/tvAfter"
app:layout_constraintStart_toEndOf="@id/tvType"
app:layout_constraintTop_toBottomOf="@id/tvName" />
<TextView
android:id="@+id/tvAfter"
android:layout_width="wrap_content"
android:layout_height="24dp"
android:layout_marginEnd="6dp"
android:gravity="center_vertical"
android:text="30"
android:textAppearance="@android:style/TextAppearance.Small"
app:layout_constraintBottom_toBottomOf="@id/tvType"
app:layout_constraintEnd_toStartOf="@+id/ivSync"
app:layout_constraintTop_toTopOf="@+id/tvType" />
<ImageView
android:id="@+id/ivSync"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginEnd="12dp"
android:contentDescription="@string/title_legend_sync_state"
app:layout_constraintBottom_toBottomOf="@id/tvType"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/tvType"
app:srcCompat="@drawable/baseline_sync_24" />
<TextView
android:id="@+id/tvKeywords"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:layout_marginEnd="12dp"
android:gravity="center_vertical"
android:text="Keywords"
android:textAppearance="@android:style/TextAppearance.Small"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/ivExpander"
app:layout_constraintTop_toBottomOf="@id/tvType" />
<TextView
android:id="@+id/tvError"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:layout_marginEnd="12dp"
android:text="error"
android:textAppearance="@style/TextAppearance.AppCompat.Small"
android:textColor="?attr/colorWarning"
android:textIsSelectable="true"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/ivExpander"
app:layout_constraintTop_toBottomOf="@id/tvKeywords" />
<View
android:id="@+id/paddingBottom"
android:layout_width="match_parent"
android:layout_height="6dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvError" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
</FrameLayout>

@ -4,77 +4,90 @@
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/clItem"
<androidx.cardview.widget.CardView
android:id="@+id/card"
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:layout_margin="6dp"
app:cardBackgroundColor="?attr/colorCardBackground"
app:cardCornerRadius="6dp"
app:cardElevation="6dp">
<View
android:id="@+id/vwColor"
android:layout_width="6dp"
android:layout_height="0dp"
android:background="?attr/colorAccent"
app:layout_constraintBottom_toBottomOf="@+id/paddingBottom"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/clItem"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="6dp">
<ImageView
android:id="@+id/ivState"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginStart="6dp"
android:contentDescription="@string/title_legend_connection_state"
android:visibility="invisible"
app:layout_constraintBottom_toBottomOf="@+id/tvName"
app:layout_constraintStart_toEndOf="@id/vwColor"
app:layout_constraintTop_toTopOf="@+id/tvName"
app:srcCompat="@drawable/baseline_cloud_off_24" />
<androidx.cardview.widget.CardView
android:id="@+id/vwColor"
android:layout_width="6dp"
android:layout_height="0dp"
app:cardBackgroundColor="?attr/colorAccent"
app:cardCornerRadius="1.5dp"
app:cardElevation="0dp"
app:layout_constraintBottom_toBottomOf="@+id/paddingBottom"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<View
android:id="@+id/vwLevel"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/ivState"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/ivState"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginStart="6dp"
android:contentDescription="@string/title_legend_connection_state"
android:visibility="invisible"
app:layout_constraintBottom_toBottomOf="@+id/tvName"
app:layout_constraintStart_toEndOf="@id/vwColor"
app:layout_constraintTop_toTopOf="@+id/tvName"
app:srcCompat="@drawable/baseline_cloud_off_24" />
<ImageView
android:id="@+id/ivExpander"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_gravity="center_vertical|center_horizontal"
android:background="?android:attr/selectableItemBackgroundBorderless"
android:contentDescription="@string/title_legend_expander"
android:paddingStart="12dp"
android:paddingEnd="12dp"
app:layout_constraintBottom_toBottomOf="@+id/paddingBottom"
app:layout_constraintStart_toEndOf="@+id/vwLevel"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/expander" />
<View
android:id="@+id/vwLevel"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/ivState"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/ivExpander"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_gravity="center_vertical|center_horizontal"
android:background="?android:attr/selectableItemBackgroundBorderless"
android:contentDescription="@string/title_legend_expander"
android:paddingStart="12dp"
android:paddingEnd="12dp"
app:layout_constraintBottom_toBottomOf="@+id/paddingBottom"
app:layout_constraintStart_toEndOf="@+id/vwLevel"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/expander" />
<TextView
android:id="@+id/tvName"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:layout_marginEnd="6dp"
android:ellipsize="end"
android:gravity="center_vertical"
android:minHeight="24dp"
android:singleLine="true"
android:text="Name"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/ivExpander"
app:layout_constraintTop_toTopOf="parent" />
<View
android:id="@+id/paddingBottom"
android:layout_width="match_parent"
android:layout_height="6dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvName" />
</androidx.constraintlayout.widget.ConstraintLayout>
<TextView
android:id="@+id/tvName"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:layout_marginEnd="6dp"
android:ellipsize="end"
android:gravity="center_vertical"
android:minHeight="24dp"
android:singleLine="true"
android:text="Name"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/ivExpander"
app:layout_constraintTop_toTopOf="parent" />
<View
android:id="@+id/paddingBottom"
android:layout_width="match_parent"
android:layout_height="6dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvName" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
</FrameLayout>
Loading…
Cancel
Save