android - 如何减少android studio中的布局大小?
问题描述
我正在做一个活动,它应该很小,但我不知道如何将活动放在小尺寸以免占据整个屏幕,好像它是一种中间的警报/弹出窗口并具有适合所有屏幕尺寸的响应式布局。
我的活动:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/go_back"
tools:context=".Popup">
<TextView
android:id="@+id/textView2"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="4dp"
android:background="@drawable/border_et"
android:gravity="center"
android:text="@string/authorize"
android:textColor="@color/common_google_signin_btn_text_dark_default"
android:textSize="20sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.476"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/btnCancel"
android:layout_width="122dp"
android:layout_height="wrap_content"
android:layout_below="@+id/textView3"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_marginEnd="44dp"
android:layout_marginRight="44dp"
android:background="@drawable/buttons"
android:text="@android:string/cancel"
android:textColor="@android:color/holo_red_light"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.934"
app:layout_constraintStart_toEndOf="@+id/btnOkay"
app:layout_constraintTop_toTopOf="@+id/btnOkay" />
<EditText
android:id="@+id/etPassword"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="28dp"
android:layout_marginRight="28dp"
android:ems="10"
android:hint="@string/enter_pass"
android:importantForAutofill="no"
android:inputType="textPassword"
android:textColor="@color/common_google_signin_btn_text_dark_default"
android:textColorHighlight="@color/common_google_signin_btn_text_dark_default"
android:textColorHint="@color/common_google_signin_btn_text_dark_default"
android:textColorLink="@color/common_google_signin_btn_text_dark_default"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toEndOf="@+id/textView3"
app:layout_constraintTop_toTopOf="@+id/textView3" />
<TextView
android:id="@+id/textView3"
android:layout_width="109dp"
android:layout_height="44dp"
android:layout_below="@+id/textView2"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_marginStart="28dp"
android:layout_marginLeft="28dp"
android:layout_marginTop="32dp"
android:gravity="center"
android:text="@string/password"
android:textColor="@color/common_google_signin_btn_text_dark_default"
android:textSize="18sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView2" />
<Button
android:id="@+id/btnOkay"
android:layout_width="122dp"
android:layout_height="wrap_content"
android:layout_below="@+id/etPassword"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginStart="44dp"
android:layout_marginLeft="44dp"
android:layout_marginTop="48dp"
android:layout_toEndOf="@+id/btnCancel"
android:layout_toRightOf="@+id/btnCancel"
android:background="@drawable/buttons"
android:text="@string/confirm"
android:textColor="@android:color/holo_green_light"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView3" />
</androidx.constraintlayout.widget.ConstraintLayout>
我尝试更改layout_width
and layout_height
,但它不适用于所有尺寸的屏幕,我尝试过getWindow().setLayout((int)(width*.9), (int)(height*.4))
但在平板电脑中窗口似乎很大......
有人可以帮忙吗?
解决方案
如果你想用中心的小对话框提醒用户......
首先创建一个布局
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:gravity="center"
android:background="@android:color/transparent">
然后在创建子布局之后
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"/>
试试这个..希望这会帮助你..快乐编码。
推荐阅读
- git - 从 git for windows bash 的 CLI 中清除所有 git 凭据
- javascript - 修改值 - 通过引用传递
- javascript - React 钩子 useState 在上下文提供者中设置多个状态
- google-apps-script - 填写上一行时自动添加行,“那些行超出范围(第8行,文件“代码”)错误
- c# - ConcurrentQueue 的字典是线程安全的吗?
- javascript - Windows重新加载后无法重定向路由
- python - 如何从python理解HDB中返回的游标描述列
- android - 有什么方法可以知道 Android App Link 是否会打开应用程序?
- android - 意图 - 动态转到另一个活动
- android - 使用 Google Play 服务进行 Firebase 分析已过时