android - Android Studio:小部件位置问题 - 如何根据屏幕大小调整大小?
问题描述
我是 Android Studio 上的 Android 编程新手,这似乎是一个简单的问题。
在 Swift 中,我曾经使用 screen WIDTH 和 HEIGHT 来将我的所有小部件放在屏幕位置并调整它们的大小,在我看来这是一个很好的方法。
在这里我不知道该怎么做。我在 XML 文件上制作了这个屏幕,这个屏幕是预览:
我已经设置了这样的按钮:
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:layout_width="match_parent"
android:scaleType="fitXY"
android:alpha="0.7"
android:src="@mipmap/imgbackgroundstartview"
android:id="@+id/imgBackgroundStartView"
android:layout_height="wrap_content"/>
<ImageView
android:layout_width="match_parent"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@mipmap/btnstartcpr"
android:id="@+id/imgStartViewStartVisible"
android:layout_height="wrap_content"/>
<ImageView
android:layout_width="match_parent"
android:layout_centerHorizontal="true"
android:src="@mipmap/imgstartviewtitle"
android:layout_marginTop="20dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="400dp"
android:id="@+id/imgStartViewTitle"
android:layout_height="wrap_content"/>
<TextView
android:layout_width="match_parent"
android:layout_centerVertical="true"
android:text="START"
android:layout_centerInParent="true"
android:gravity="center_horizontal"
android:textColor="#ffffffff"
android:textStyle="bold"
android:fontFamily="sans-serif-medium"
android:textSize="36dp"
android:layout_height="wrap_content" />
<Button
android:layout_width="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="420dp"
android:layout_marginRight="250dp"
android:layout_marginBottom="20dp"
android:id="@+id/btnLoginStartView"
android:background="@mipmap/imgstartviewlogin"
android:layout_height="wrap_content"/>
</RelativeLayout>
但是,当我运行程序时,它具有不同的定位和大小:
这么短的问题:如何像我在 SWIFT 上做的一样,即:将按钮高度设置为屏幕高度的 10%;将按钮宽度设置为屏幕宽度的 50%;将按钮定位在点上(宽度:屏幕宽度的 50%,高度:屏幕高度的 50%),即屏幕中间。
答案可以是编程方式或 XML 文件,两者都对我有用。提前致谢!
解决方案
推荐阅读
- angular - Angular 7 和 HTML 选择问题
- java - 如何选择下拉值
- php - 这是在 php 类中使用准备好的语句的不安全方式吗?
- sass - 如何将 mat-tab-group 标签左对齐
- c# - LuisRecognizer 结果在 DateTimeV2 分辨率 Json 中不显示“Value”字段
- jsf - primefaces 微调器的 ValueChangeEvent 为空
- python - 搜索正则表达式时忽略子节点
- javascript - 使用 jquery 或 javascript 运行浏览器工具栏按钮
- powershell - 如何阻止电子邮件签名通过
- ios - 为什么频繁切换CALayer的隐藏属性会导致图形极度退化?