我正在嘗試檢查哪種型別的兒童具有線性布局,但我一直認為 textview 與視圖相同。如何區分文本視圖和視圖。
在我的線性布局中,我有一個視圖和一個文本視圖,在下面的代碼中,當孩子是 textview 時,我在兩個句子中都得到了真實(我的意思是,如果孩子在那一刻是textview)。我想知道如果孩子是 textview,當句子是 view 是 View 時,我怎么會出錯。
這是我試圖檢查孩子型別的地方:
private fun selectFromLayout(ll: LinearLayout, select: Boolean) {
val childCount = ll.childCount
for (i in 0 until childCount) {
val view = ll.getChildAt(i)
if (view is View) {
if (select) {
view.background = ContextCompat.getDrawable(context, R.drawable.back_select)
} else {
view.setBackgroundResource(R.color.white)
}
}
if (view is TextView) {
if (select) {
view.setTextColor(ContextCompat.getColor(context, R.color.gray_dark))
view.typeface = ResourcesCompat.getFont(context, R.font.montserrat_medium)
} else {
view.setTextColor(ContextCompat.getColor(context, R.color.gray_medium))
view.typeface = ResourcesCompat.getFont(context, R.font.montserrat_regular)
}
}
}
}
線性布局:
<LinearLayout
android:id="@ id/btn_tab1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:focusable="true"
android:gravity="bottom"
android:orientation="vertical">
<TextView
android:id="@ id/tv_tab1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
android:gravity="center"
app:textSize="10sp"
app:textType="regular"
tools:text="Próximas" />
<View
android:id="@ id/tab1_shadow"
android:layout_width="match_parent"
android:layout_height="2dp" />
</LinearLayout>
uj5u.com熱心網友回復:
沒有必要檢查,is View因為它總是正確的,因為 android 中的所有視圖都是從View類擴展的。
private fun selectFromLayout(ll: LinearLayout, select: Boolean) {
val childCount = ll.childCount
for (i in 0 until childCount) {
val view = ll.getChildAt(i)
if (view is TextView) {
if (select) {
view.setTextColor(ContextCompat.getColor(context, R.color.gray_dark))
view.typeface = ResourcesCompat.getFont(context, R.font.montserrat_medium)
} else {
view.setTextColor(ContextCompat.getColor(context, R.color.gray_medium))
view.typeface = ResourcesCompat.getFont(context, R.font.montserrat_regular)
}
} else {
if (select) {
view.background = ContextCompat.getDrawable(context, R.drawable.back_select)
} else {
view.setBackgroundResource(R.color.white)
}
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/324537.html
標籤:科特林 看法 文本视图 android-线性布局
