am ac7927a8: Merge "LayoutInflater should always try to generate LayoutParams for include" into mnc-dev
* commit 'ac7927a89519a79ab73723a13ed9ea12ca16056f': LayoutInflater should always try to generate LayoutParams for include
This commit is contained in:
@@ -946,25 +946,21 @@ public abstract class LayoutInflater {
|
||||
attrs, R.styleable.Include);
|
||||
final int id = a.getResourceId(R.styleable.Include_id, View.NO_ID);
|
||||
final int visibility = a.getInt(R.styleable.Include_visibility, -1);
|
||||
final boolean hasWidth = a.hasValue(R.styleable.Include_layout_width);
|
||||
final boolean hasHeight = a.hasValue(R.styleable.Include_layout_height);
|
||||
a.recycle();
|
||||
|
||||
// We try to load the layout params set in the <include /> tag. If
|
||||
// they don't exist, we will rely on the layout params set in the
|
||||
// included XML file.
|
||||
// During a layoutparams generation, a runtime exception is thrown
|
||||
// if either layout_width or layout_height is missing. We catch
|
||||
// this exception and set localParams accordingly: true means we
|
||||
// successfully loaded layout params from the <include /> tag,
|
||||
// false means we need to rely on the included layout params.
|
||||
// We try to load the layout params set in the <include /> tag.
|
||||
// If the parent can't generate layout params (ex. missing width
|
||||
// or height for the framework ViewGroups, though this is not
|
||||
// necessarily true of all ViewGroups) then we expect it to throw
|
||||
// a runtime exception.
|
||||
// We catch this exception and set localParams accordingly: true
|
||||
// means we successfully loaded layout params from the <include>
|
||||
// tag, false means we need to rely on the included layout params.
|
||||
ViewGroup.LayoutParams params = null;
|
||||
if (hasWidth && hasHeight) {
|
||||
try {
|
||||
params = group.generateLayoutParams(attrs);
|
||||
} catch (RuntimeException e) {
|
||||
// Ignore, just fail over to child attrs.
|
||||
}
|
||||
try {
|
||||
params = group.generateLayoutParams(attrs);
|
||||
} catch (RuntimeException e) {
|
||||
// Ignore, just fail over to child attrs.
|
||||
}
|
||||
if (params == null) {
|
||||
params = group.generateLayoutParams(childAttrs);
|
||||
|
||||
@@ -2725,12 +2725,11 @@
|
||||
<attr name="value" />
|
||||
</declare-styleable>
|
||||
|
||||
<!-- Attributes that can be assigned to an <include> tag. -->
|
||||
<!-- Attributes that can be assigned to an <include> tag.
|
||||
@hide -->
|
||||
<declare-styleable name="Include">
|
||||
<attr name="id" />
|
||||
<attr name="visibility" />
|
||||
<attr name="layout_width" />
|
||||
<attr name="layout_height" />
|
||||
</declare-styleable>
|
||||
|
||||
<!-- Attributes that can be used with a {@link android.view.ViewGroup} or any
|
||||
|
||||
Reference in New Issue
Block a user