Mercurial > dwindows
comparison android/DWindows.kt @ 2675:a7868380098f
Android: LinearLayout does not allow null views, if null, create a Placeholder view.
Pack the empty placeholder into the LinearLayout to accomplish the same effect.
This allows us to center things with expandable placeholders.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Tue, 19 Oct 2021 11:01:16 +0000 |
parents | e3a95940c18f |
children | a43cf048ff17 |
comparison
equal
deleted
inserted
replaced
2674:dd0b29320a3d | 2675:a7868380098f |
---|---|
42 import androidx.appcompat.app.AppCompatActivity | 42 import androidx.appcompat.app.AppCompatActivity |
43 import androidx.appcompat.widget.AppCompatEditText | 43 import androidx.appcompat.widget.AppCompatEditText |
44 import androidx.collection.SimpleArrayMap | 44 import androidx.collection.SimpleArrayMap |
45 import androidx.constraintlayout.widget.ConstraintLayout | 45 import androidx.constraintlayout.widget.ConstraintLayout |
46 import androidx.constraintlayout.widget.ConstraintSet | 46 import androidx.constraintlayout.widget.ConstraintSet |
47 import androidx.constraintlayout.widget.Placeholder | |
47 import androidx.core.app.NotificationCompat | 48 import androidx.core.app.NotificationCompat |
48 import androidx.core.app.NotificationManagerCompat | 49 import androidx.core.app.NotificationManagerCompat |
49 import androidx.core.content.res.ResourcesCompat | 50 import androidx.core.content.res.ResourcesCompat |
50 import androidx.core.view.MenuCompat | 51 import androidx.core.view.MenuCompat |
51 import androidx.recyclerview.widget.RecyclerView | 52 import androidx.recyclerview.widget.RecyclerView |
1580 return scrollBox | 1581 return scrollBox |
1581 } | 1582 } |
1582 | 1583 |
1583 fun boxPack( | 1584 fun boxPack( |
1584 boxview: View, | 1585 boxview: View, |
1585 item: View, | 1586 packitem: View?, |
1586 index: Int, | 1587 index: Int, |
1587 width: Int, | 1588 width: Int, |
1588 height: Int, | 1589 height: Int, |
1589 hsize: Int, | 1590 hsize: Int, |
1590 vsize: Int, | 1591 vsize: Int, |
1592 ) { | 1593 ) { |
1593 waitOnUiThread { | 1594 waitOnUiThread { |
1594 var w: Int = LinearLayout.LayoutParams.WRAP_CONTENT | 1595 var w: Int = LinearLayout.LayoutParams.WRAP_CONTENT |
1595 var h: Int = LinearLayout.LayoutParams.WRAP_CONTENT | 1596 var h: Int = LinearLayout.LayoutParams.WRAP_CONTENT |
1596 var box: LinearLayout? = null | 1597 var box: LinearLayout? = null |
1598 var item: View? = packitem | |
1599 | |
1600 // We can't pack nothing, so create an empty placeholder to pack | |
1601 if(item == null) { | |
1602 item = Placeholder(this) | |
1603 item.emptyVisibility = View.VISIBLE | |
1604 } | |
1597 | 1605 |
1598 // Handle scrollboxes by pulling the LinearLayout | 1606 // Handle scrollboxes by pulling the LinearLayout |
1599 // out of the ScrollView to pack into | 1607 // out of the ScrollView to pack into |
1600 if (boxview is LinearLayout) { | 1608 if (boxview is LinearLayout) { |
1601 box = boxview | 1609 box = boxview |