Skip to content

Commit c3c1f0e

Browse files
committed
Twelve: ListItem: Allow setting leading/trailing view visibility
Change-Id: Icd355d7d6e9904e4f8d3b9d6f636a65a31991f45
1 parent 099c4ca commit c3c1f0e

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

app/src/main/java/org/lineageos/twelve/ui/views/ListItem.kt

+14
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,12 @@ class ListItem @JvmOverloads constructor(
6161
leadingViewContainerFrameLayout.setChildAndUpdateVisibility(value)
6262
}
6363

64+
var leadingViewIsVisible: Boolean
65+
get() = leadingViewContainerFrameLayout.isVisible
66+
set(value) {
67+
leadingViewContainerFrameLayout.updateVisibility(value)
68+
}
69+
6470
var headlineText: CharSequence?
6571
get() = headlineTextView.text
6672
set(value) {
@@ -91,6 +97,12 @@ class ListItem @JvmOverloads constructor(
9197
trailingViewContainerFrameLayout.setChildAndUpdateVisibility(value)
9298
}
9399

100+
var trailingViewIsVisible: Boolean
101+
get() = trailingViewContainerFrameLayout.isVisible
102+
set(value) {
103+
leadingViewContainerFrameLayout.updateVisibility(value)
104+
}
105+
94106
init {
95107
inflate(context, R.layout.list_item, this)
96108

@@ -103,6 +115,7 @@ class ListItem @JvmOverloads constructor(
103115
}?.let {
104116
setLeadingView(it)
105117
}
118+
leadingViewIsVisible = getBoolean(R.styleable.ListItem_leadingViewIsVisible, true)
106119
headlineText = getString(R.styleable.ListItem_headlineText)
107120
supportingText = getString(R.styleable.ListItem_supportingText)
108121
trailingIconImage = getDrawable(R.styleable.ListItem_trailingIconImage)
@@ -112,6 +125,7 @@ class ListItem @JvmOverloads constructor(
112125
}?.let {
113126
setTrailingView(it)
114127
}
128+
trailingViewIsVisible = getBoolean(R.styleable.ListItem_trailingViewIsVisible, true)
115129
} finally {
116130
recycle()
117131
}

app/src/main/res/values/attrs_ListItem.xml

+2
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,12 @@
88
<attr name="headlineText" format="string" />
99
<attr name="leadingIconImage" format="reference" />
1010
<attr name="leadingText" format="string" />
11+
<attr name="leadingViewIsVisible" format="boolean" />
1112
<attr name="leadingViewLayout" format="reference" />
1213
<attr name="supportingText" format="string" />
1314
<attr name="trailingIconImage" format="reference" />
1415
<attr name="trailingSupportingText" format="string" />
16+
<attr name="trailingViewIsVisible" format="boolean" />
1517
<attr name="trailingViewLayout" format="reference" />
1618
</declare-styleable>
1719
</resources>

0 commit comments

Comments
 (0)