Merge change I3bbfb4f9 into eclair
* changes: Remove unused field and add new API to control the children drawing order.
This commit is contained in:
@@ -161987,6 +161987,17 @@
|
||||
visibility="public"
|
||||
>
|
||||
</method>
|
||||
<method name="isChildrenDrawingOrderEnabled"
|
||||
return="boolean"
|
||||
abstract="false"
|
||||
native="false"
|
||||
synchronized="false"
|
||||
static="false"
|
||||
final="false"
|
||||
deprecated="not deprecated"
|
||||
visibility="protected"
|
||||
>
|
||||
</method>
|
||||
<method name="isChildrenDrawnWithCacheEnabled"
|
||||
return="boolean"
|
||||
abstract="false"
|
||||
@@ -162370,6 +162381,19 @@
|
||||
<parameter name="enabled" type="boolean">
|
||||
</parameter>
|
||||
</method>
|
||||
<method name="setChildrenDrawingOrderEnabled"
|
||||
return="void"
|
||||
abstract="false"
|
||||
native="false"
|
||||
synchronized="false"
|
||||
static="false"
|
||||
final="false"
|
||||
deprecated="not deprecated"
|
||||
visibility="protected"
|
||||
>
|
||||
<parameter name="enabled" type="boolean">
|
||||
</parameter>
|
||||
</method>
|
||||
<method name="setChildrenDrawnWithCacheEnabled"
|
||||
return="void"
|
||||
abstract="false"
|
||||
@@ -162537,17 +162561,6 @@
|
||||
visibility="protected"
|
||||
>
|
||||
</field>
|
||||
<field name="FLAG_USE_CHILD_DRAWING_ORDER"
|
||||
type="int"
|
||||
transient="false"
|
||||
volatile="false"
|
||||
value="1024"
|
||||
static="true"
|
||||
final="true"
|
||||
deprecated="not deprecated"
|
||||
visibility="protected"
|
||||
>
|
||||
</field>
|
||||
<field name="FOCUS_AFTER_DESCENDANTS"
|
||||
type="int"
|
||||
transient="false"
|
||||
|
||||
@@ -150,6 +150,8 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
|
||||
/**
|
||||
* When set, the drawing method will call {@link #getChildDrawingOrder(int, int)}
|
||||
* to get the index of the child to draw for that iteration.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
protected static final int FLAG_USE_CHILD_DRAWING_ORDER = 0x400;
|
||||
|
||||
@@ -1307,11 +1309,14 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
|
||||
* if you want to change the drawing order of children. By default, it
|
||||
* returns i.
|
||||
* <p>
|
||||
* NOTE: In order for this method to be called, the
|
||||
* {@link #FLAG_USE_CHILD_DRAWING_ORDER} must be set.
|
||||
* NOTE: In order for this method to be called, you must enable child ordering
|
||||
* first by calling {@link #setChildrenDrawingOrderEnabled(boolean)}.
|
||||
*
|
||||
* @param i The current iteration.
|
||||
* @return The index of the child to draw this iteration.
|
||||
*
|
||||
* @see #setChildrenDrawingOrderEnabled(boolean)
|
||||
* @see #isChildrenDrawingOrderEnabled()
|
||||
*/
|
||||
protected int getChildDrawingOrder(int childCount, int i) {
|
||||
return i;
|
||||
@@ -2706,6 +2711,35 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
|
||||
setBooleanFlag(FLAG_CHILDREN_DRAWN_WITH_CACHE, enabled);
|
||||
}
|
||||
|
||||
/**
|
||||
* Indicates whether the ViewGroup is drawing its children in the order defined by
|
||||
* {@link #getChildDrawingOrder(int, int)}.
|
||||
*
|
||||
* @return true if children drawing order is defined by {@link #getChildDrawingOrder(int, int)},
|
||||
* false otherwise
|
||||
*
|
||||
* @see #setChildrenDrawingOrderEnabled(boolean)
|
||||
* @see #getChildDrawingOrder(int, int)
|
||||
*/
|
||||
@ViewDebug.ExportedProperty
|
||||
protected boolean isChildrenDrawingOrderEnabled() {
|
||||
return (mGroupFlags & FLAG_USE_CHILD_DRAWING_ORDER) == FLAG_USE_CHILD_DRAWING_ORDER;
|
||||
}
|
||||
|
||||
/**
|
||||
* Tells the ViewGroup whether to draw its children in the order defined by the method
|
||||
* {@link #getChildDrawingOrder(int, int)}.
|
||||
*
|
||||
* @param enabled true if the order of the children when drawing is determined by
|
||||
* {@link #getChildDrawingOrder(int, int)}, false otherwise
|
||||
*
|
||||
* @see #isChildrenDrawingOrderEnabled()
|
||||
* @see #getChildDrawingOrder(int, int)
|
||||
*/
|
||||
protected void setChildrenDrawingOrderEnabled(boolean enabled) {
|
||||
setBooleanFlag(FLAG_USE_CHILD_DRAWING_ORDER, enabled);
|
||||
}
|
||||
|
||||
private void setBooleanFlag(int flag, boolean value) {
|
||||
if (value) {
|
||||
mGroupFlags |= flag;
|
||||
|
||||
Reference in New Issue
Block a user