Merge "Make Add user dialog scrollable"

This commit is contained in:
Tetiana Meronyk
2022-10-13 17:05:16 +00:00
committed by Android (Google) Code Review
3 changed files with 63 additions and 41 deletions

View File

@@ -13,47 +13,62 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
<LinearLayout
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:baselineAligned="false"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/user_info_scroll"
android:padding="16dp">
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center">
<ImageView
android:id="@+id/user_photo"
android:layout_width="@dimen/user_photo_size_in_user_info_dialog"
android:layout_height="@dimen/user_photo_size_in_user_info_dialog"
android:contentDescription="@string/user_image_photo_selector"
android:scaleType="fitCenter"/>
<ImageView
android:id="@+id/add_a_photo_icon"
android:layout_width="@dimen/add_a_photo_icon_size_in_user_info_dialog"
android:layout_height="@dimen/add_a_photo_icon_size_in_user_info_dialog"
android:src="@drawable/add_a_photo_circled"
android:layout_gravity="bottom|right" />
</FrameLayout>
<EditText
android:id="@+id/user_name"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/user_name_height_in_user_info_dialog"
android:layout_gravity="center"
android:minWidth="200dp"
android:layout_marginStart="6dp"
android:minHeight="@dimen/min_tap_target_size"
android:ellipsize="end"
android:singleLine="true"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textAlignment="viewStart"
android:inputType="text|textCapWords"
android:selectAllOnFocus="true"
android:hint="@string/user_nickname"
android:maxLength="100"/>
android:layout_height="wrap_content"
android:baselineAligned="false"
android:orientation="vertical">
<TextView
android:id="@+id/user_info_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/EditUserDialogTitle"
android:text="@string/user_info_settings_title"
android:textDirection="locale"/>
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center">
<ImageView
android:id="@+id/user_photo"
android:layout_width="@dimen/user_photo_size_in_user_info_dialog"
android:layout_height="@dimen/user_photo_size_in_user_info_dialog"
android:contentDescription="@string/user_image_photo_selector"
android:scaleType="fitCenter"/>
<ImageView
android:id="@+id/add_a_photo_icon"
android:layout_width="@dimen/add_a_photo_icon_size_in_user_info_dialog"
android:layout_height="@dimen/add_a_photo_icon_size_in_user_info_dialog"
android:src="@drawable/add_a_photo_circled"
android:layout_gravity="bottom|right"/>
</FrameLayout>
<EditText
android:id="@+id/user_name"
android:layout_width="match_parent"
android:layout_height="@dimen/user_name_height_in_user_info_dialog"
android:layout_gravity="center"
android:minWidth="200dp"
android:layout_marginStart="6dp"
android:minHeight="@dimen/min_tap_target_size"
android:ellipsize="end"
android:singleLine="true"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textAlignment="viewStart"
android:inputType="text|textCapWords"
android:selectAllOnFocus="true"
android:hint="@string/user_nickname"
android:maxLength="100"/>
</LinearLayout>
</ScrollView>
</LinearLayout>

View File

@@ -77,4 +77,10 @@
<item name="android:textSize">@dimen/broadcast_dialog_btn_text_size</item>
</style>
<style name="EditUserDialogTitle" parent="@android:TextAppearance.DeviceDefault.Headline">
<item name="android:textSize">@dimen/broadcast_dialog_title_text_size</item>
<item name="android:textColor">?android:attr/textColorPrimary</item>
<item name="android:textDirection">locale</item>
<item name="android:ellipsize">end</item>
</style>
</resources>

View File

@@ -31,6 +31,7 @@ import android.view.View;
import android.view.WindowManager;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ScrollView;
import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
@@ -159,7 +160,8 @@ public class EditUserInfoController {
userPhotoView);
}
}
ScrollView scrollView = content.findViewById(R.id.user_info_scroll);
scrollView.setClipToOutline(true);
mEditUserInfoDialog = buildDialog(activity, content, userNameView, oldUserIcon,
defaultUserName, title, successCallback, cancelCallback);
@@ -182,7 +184,6 @@ public class EditUserInfoController {
@Nullable Drawable oldUserIcon, String defaultUserName, String title,
BiConsumer<String, Drawable> successCallback, Runnable cancelCallback) {
return new AlertDialog.Builder(activity)
.setTitle(title)
.setView(content)
.setCancelable(true)
.setPositiveButton(android.R.string.ok, (dialog, which) -> {