Loading core/java/com/android/internal/widget/WeightedLinearLayout.java +19 −12 Original line number Diff line number Diff line Loading @@ -30,8 +30,10 @@ import static com.android.internal.R.*; * the available space. */ public class WeightedLinearLayout extends LinearLayout { private float mMajorWeight; private float mMinorWeight; private float mMajorWeightMin; private float mMinorWeightMin; private float mMajorWeightMax; private float mMinorWeightMax; public WeightedLinearLayout(Context context) { super(context); Loading @@ -43,8 +45,10 @@ public class WeightedLinearLayout extends LinearLayout { TypedArray a = context.obtainStyledAttributes(attrs, styleable.WeightedLinearLayout); mMajorWeight = a.getFloat(styleable.WeightedLinearLayout_majorWeight, 0.0f); mMinorWeight = a.getFloat(styleable.WeightedLinearLayout_minorWeight, 0.0f); mMajorWeightMin = a.getFloat(styleable.WeightedLinearLayout_majorWeightMin, 0.0f); mMinorWeightMin = a.getFloat(styleable.WeightedLinearLayout_minorWeightMin, 0.0f); mMajorWeightMax = a.getFloat(styleable.WeightedLinearLayout_majorWeightMax, 0.0f); mMinorWeightMax = a.getFloat(styleable.WeightedLinearLayout_minorWeightMax, 0.0f); a.recycle(); } Loading @@ -60,17 +64,20 @@ public class WeightedLinearLayout extends LinearLayout { super.onMeasure(widthMeasureSpec, heightMeasureSpec); int width = getMeasuredWidth(); int height = getMeasuredHeight(); boolean measure = false; widthMeasureSpec = MeasureSpec.makeMeasureSpec(width, EXACTLY); heightMeasureSpec = MeasureSpec.makeMeasureSpec(height, EXACTLY); final float widthWeight = isPortrait ? mMinorWeight : mMajorWeight; if (widthMode == AT_MOST && widthWeight > 0.0f) { if (width < (screenWidth * widthWeight)) { widthMeasureSpec = MeasureSpec.makeMeasureSpec((int) (screenWidth * widthWeight), EXACTLY); final float widthWeightMin = isPortrait ? mMinorWeightMin : mMajorWeightMin; final float widthWeightMax = isPortrait ? mMinorWeightMax : mMajorWeightMax; if (widthMode == AT_MOST) { final int weightedMin = (int) (screenWidth * widthWeightMin); final int weightedMax = (int) (screenWidth * widthWeightMin); if (widthWeightMin > 0.0f && width < weightedMin) { widthMeasureSpec = MeasureSpec.makeMeasureSpec(weightedMin, EXACTLY); measure = true; } else if (widthWeightMax > 0.0f && width > weightedMax) { widthMeasureSpec = MeasureSpec.makeMeasureSpec(weightedMax, EXACTLY); measure = true; } } Loading core/res/res/layout-xlarge/alert_dialog.xml 0 → 100644 +150 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <!-- /* //device/apps/common/res/layout/alert_dialog.xml ** ** Copyright 2006, The Android Open Source Project ** ** Licensed under the Apache License, Version 2.0 (the "License"); ** you may not use this file except in compliance with the License. ** You may obtain a copy of the License at ** ** http://www.apache.org/licenses/LICENSE-2.0 ** ** Unless required by applicable law or agreed to in writing, software ** distributed under the License is distributed on an "AS IS" BASIS, ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** See the License for the specific language governing permissions and ** limitations under the License. */ --> <com.android.internal.widget.WeightedLinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/parentPanel" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:paddingTop="9dip" android:paddingBottom="3dip" android:paddingLeft="3dip" android:paddingRight="1dip" android:majorWeightMin="0.45" android:minorWeightMin="0.72" android:majorWeightMax="0.45" android:minorWeightMax="0.72"> <LinearLayout android:id="@+id/topPanel" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="54dip" android:orientation="vertical"> <LinearLayout android:id="@+id/title_template" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical" android:layout_marginTop="6dip" android:layout_marginBottom="9dip" android:layout_marginLeft="10dip" android:layout_marginRight="10dip"> <ImageView android:id="@+id/icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="top" android:paddingTop="6dip" android:paddingRight="10dip" android:src="@drawable/ic_dialog_info" /> <com.android.internal.widget.DialogTitle android:id="@+id/alertTitle" style="?android:attr/textAppearanceLarge" android:singleLine="true" android:ellipsize="end" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout> <ImageView android:id="@+id/titleDivider" android:layout_width="match_parent" android:layout_height="1dip" android:visibility="gone" android:scaleType="fitXY" android:gravity="fill_horizontal" android:src="@android:drawable/divider_horizontal_dark" /> <!-- If the client uses a customTitle, it will be added here. --> </LinearLayout> <LinearLayout android:id="@+id/contentPanel" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:orientation="vertical"> <ScrollView android:id="@+id/scrollView" android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingTop="2dip" android:paddingBottom="12dip" android:paddingLeft="14dip" android:paddingRight="10dip"> <TextView android:id="@+id/message" style="?android:attr/textAppearanceMedium" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="5dip" /> </ScrollView> </LinearLayout> <FrameLayout android:id="@+id/customPanel" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1"> <FrameLayout android:id="@+android:id/custom" android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingTop="5dip" android:paddingBottom="5dip" /> </FrameLayout> <LinearLayout android:id="@+id/buttonPanel" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="54dip" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:paddingTop="4dip" android:paddingLeft="2dip" android:paddingRight="2dip" android:measureWithLargestChild="true"> <LinearLayout android:id="@+id/leftSpacer" android:layout_weight="0.25" android:layout_width="0dip" android:layout_height="wrap_content" android:orientation="horizontal" android:visibility="gone" /> <Button android:id="@+id/button1" android:layout_width="0dip" android:layout_gravity="left" android:layout_weight="1" android:maxLines="2" android:layout_height="wrap_content" /> <Button android:id="@+id/button3" android:layout_width="0dip" android:layout_gravity="center_horizontal" android:layout_weight="1" android:maxLines="2" android:layout_height="wrap_content" /> <Button android:id="@+id/button2" android:layout_width="0dip" android:layout_gravity="right" android:layout_weight="1" android:maxLines="2" android:layout_height="wrap_content" /> <LinearLayout android:id="@+id/rightSpacer" android:layout_width="0dip" android:layout_weight="0.25" android:layout_height="wrap_content" android:orientation="horizontal" android:visibility="gone" /> </LinearLayout> </LinearLayout> </com.android.internal.widget.WeightedLinearLayout> core/res/res/layout/alert_dialog.xml +3 −2 Original line number Diff line number Diff line Loading @@ -28,8 +28,9 @@ android:paddingBottom="3dip" android:paddingLeft="3dip" android:paddingRight="1dip" android:majorWeight="0.65" android:minorWeight="0.9"> android:majorWeightMin="0.65" android:minorWeightMin="0.9" android:majorWeightMax="0.65"> <LinearLayout android:id="@+id/topPanel" android:layout_width="match_parent" Loading core/res/res/values/attrs.xml +4 −2 Original line number Diff line number Diff line Loading @@ -2609,8 +2609,10 @@ <!-- @hide --> <declare-styleable name="WeightedLinearLayout"> <attr name="majorWeight" format="float" /> <attr name="minorWeight" format="float" /> <attr name="majorWeightMin" format="float" /> <attr name="minorWeightMin" format="float" /> <attr name="majorWeightMax" format="float" /> <attr name="minorWeightMax" format="float" /> </declare-styleable> <!-- ========================= --> Loading Loading
core/java/com/android/internal/widget/WeightedLinearLayout.java +19 −12 Original line number Diff line number Diff line Loading @@ -30,8 +30,10 @@ import static com.android.internal.R.*; * the available space. */ public class WeightedLinearLayout extends LinearLayout { private float mMajorWeight; private float mMinorWeight; private float mMajorWeightMin; private float mMinorWeightMin; private float mMajorWeightMax; private float mMinorWeightMax; public WeightedLinearLayout(Context context) { super(context); Loading @@ -43,8 +45,10 @@ public class WeightedLinearLayout extends LinearLayout { TypedArray a = context.obtainStyledAttributes(attrs, styleable.WeightedLinearLayout); mMajorWeight = a.getFloat(styleable.WeightedLinearLayout_majorWeight, 0.0f); mMinorWeight = a.getFloat(styleable.WeightedLinearLayout_minorWeight, 0.0f); mMajorWeightMin = a.getFloat(styleable.WeightedLinearLayout_majorWeightMin, 0.0f); mMinorWeightMin = a.getFloat(styleable.WeightedLinearLayout_minorWeightMin, 0.0f); mMajorWeightMax = a.getFloat(styleable.WeightedLinearLayout_majorWeightMax, 0.0f); mMinorWeightMax = a.getFloat(styleable.WeightedLinearLayout_minorWeightMax, 0.0f); a.recycle(); } Loading @@ -60,17 +64,20 @@ public class WeightedLinearLayout extends LinearLayout { super.onMeasure(widthMeasureSpec, heightMeasureSpec); int width = getMeasuredWidth(); int height = getMeasuredHeight(); boolean measure = false; widthMeasureSpec = MeasureSpec.makeMeasureSpec(width, EXACTLY); heightMeasureSpec = MeasureSpec.makeMeasureSpec(height, EXACTLY); final float widthWeight = isPortrait ? mMinorWeight : mMajorWeight; if (widthMode == AT_MOST && widthWeight > 0.0f) { if (width < (screenWidth * widthWeight)) { widthMeasureSpec = MeasureSpec.makeMeasureSpec((int) (screenWidth * widthWeight), EXACTLY); final float widthWeightMin = isPortrait ? mMinorWeightMin : mMajorWeightMin; final float widthWeightMax = isPortrait ? mMinorWeightMax : mMajorWeightMax; if (widthMode == AT_MOST) { final int weightedMin = (int) (screenWidth * widthWeightMin); final int weightedMax = (int) (screenWidth * widthWeightMin); if (widthWeightMin > 0.0f && width < weightedMin) { widthMeasureSpec = MeasureSpec.makeMeasureSpec(weightedMin, EXACTLY); measure = true; } else if (widthWeightMax > 0.0f && width > weightedMax) { widthMeasureSpec = MeasureSpec.makeMeasureSpec(weightedMax, EXACTLY); measure = true; } } Loading
core/res/res/layout-xlarge/alert_dialog.xml 0 → 100644 +150 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <!-- /* //device/apps/common/res/layout/alert_dialog.xml ** ** Copyright 2006, The Android Open Source Project ** ** Licensed under the Apache License, Version 2.0 (the "License"); ** you may not use this file except in compliance with the License. ** You may obtain a copy of the License at ** ** http://www.apache.org/licenses/LICENSE-2.0 ** ** Unless required by applicable law or agreed to in writing, software ** distributed under the License is distributed on an "AS IS" BASIS, ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** See the License for the specific language governing permissions and ** limitations under the License. */ --> <com.android.internal.widget.WeightedLinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/parentPanel" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:paddingTop="9dip" android:paddingBottom="3dip" android:paddingLeft="3dip" android:paddingRight="1dip" android:majorWeightMin="0.45" android:minorWeightMin="0.72" android:majorWeightMax="0.45" android:minorWeightMax="0.72"> <LinearLayout android:id="@+id/topPanel" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="54dip" android:orientation="vertical"> <LinearLayout android:id="@+id/title_template" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical" android:layout_marginTop="6dip" android:layout_marginBottom="9dip" android:layout_marginLeft="10dip" android:layout_marginRight="10dip"> <ImageView android:id="@+id/icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="top" android:paddingTop="6dip" android:paddingRight="10dip" android:src="@drawable/ic_dialog_info" /> <com.android.internal.widget.DialogTitle android:id="@+id/alertTitle" style="?android:attr/textAppearanceLarge" android:singleLine="true" android:ellipsize="end" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout> <ImageView android:id="@+id/titleDivider" android:layout_width="match_parent" android:layout_height="1dip" android:visibility="gone" android:scaleType="fitXY" android:gravity="fill_horizontal" android:src="@android:drawable/divider_horizontal_dark" /> <!-- If the client uses a customTitle, it will be added here. --> </LinearLayout> <LinearLayout android:id="@+id/contentPanel" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:orientation="vertical"> <ScrollView android:id="@+id/scrollView" android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingTop="2dip" android:paddingBottom="12dip" android:paddingLeft="14dip" android:paddingRight="10dip"> <TextView android:id="@+id/message" style="?android:attr/textAppearanceMedium" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="5dip" /> </ScrollView> </LinearLayout> <FrameLayout android:id="@+id/customPanel" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1"> <FrameLayout android:id="@+android:id/custom" android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingTop="5dip" android:paddingBottom="5dip" /> </FrameLayout> <LinearLayout android:id="@+id/buttonPanel" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="54dip" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:paddingTop="4dip" android:paddingLeft="2dip" android:paddingRight="2dip" android:measureWithLargestChild="true"> <LinearLayout android:id="@+id/leftSpacer" android:layout_weight="0.25" android:layout_width="0dip" android:layout_height="wrap_content" android:orientation="horizontal" android:visibility="gone" /> <Button android:id="@+id/button1" android:layout_width="0dip" android:layout_gravity="left" android:layout_weight="1" android:maxLines="2" android:layout_height="wrap_content" /> <Button android:id="@+id/button3" android:layout_width="0dip" android:layout_gravity="center_horizontal" android:layout_weight="1" android:maxLines="2" android:layout_height="wrap_content" /> <Button android:id="@+id/button2" android:layout_width="0dip" android:layout_gravity="right" android:layout_weight="1" android:maxLines="2" android:layout_height="wrap_content" /> <LinearLayout android:id="@+id/rightSpacer" android:layout_width="0dip" android:layout_weight="0.25" android:layout_height="wrap_content" android:orientation="horizontal" android:visibility="gone" /> </LinearLayout> </LinearLayout> </com.android.internal.widget.WeightedLinearLayout>
core/res/res/layout/alert_dialog.xml +3 −2 Original line number Diff line number Diff line Loading @@ -28,8 +28,9 @@ android:paddingBottom="3dip" android:paddingLeft="3dip" android:paddingRight="1dip" android:majorWeight="0.65" android:minorWeight="0.9"> android:majorWeightMin="0.65" android:minorWeightMin="0.9" android:majorWeightMax="0.65"> <LinearLayout android:id="@+id/topPanel" android:layout_width="match_parent" Loading
core/res/res/values/attrs.xml +4 −2 Original line number Diff line number Diff line Loading @@ -2609,8 +2609,10 @@ <!-- @hide --> <declare-styleable name="WeightedLinearLayout"> <attr name="majorWeight" format="float" /> <attr name="minorWeight" format="float" /> <attr name="majorWeightMin" format="float" /> <attr name="minorWeightMin" format="float" /> <attr name="majorWeightMax" format="float" /> <attr name="minorWeightMax" format="float" /> </declare-styleable> <!-- ========================= --> Loading