大家好,我是android开发的新手,我试图设计一个活动,我按照我想要的方式设计它,但当我在手机中安装apk时,设计不一样,我检查了所有的限制条件,它们也是正确的,以下是安卓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:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Details_Page">
<ImageView
android:id="@+id/imageView"
android:layout_width="0dp"
android:layout_height="234dp"
android:scaleType="fitXY"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/android_3" />
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraintLayout3"
android:layout_width="417dp"
android:layout_height="483dp"
android:background="@drawable/modern_bg_2"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.333"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="1.0">
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
3条答案
按热度按时间p4tfgftt1#
正如alexander所评论的,您的ui需要是可伸缩的,您需要在视图之间创建相对约束,以便它能够在不同的显示中正确伸缩。
首先,您应该删除
app:layout_constraintHorizontal_bias="0.333"
及app:layout_constraintVertical_bias="1.0"
因为它们要么在这种情况下不起作用,要么在不同的屏幕大小下伸缩不同。其次,由于您的图像具有固定的高度,因此实现所需的一个简单方法是使用
margin_top
. 为了使曲线背景隐藏图像的一部分,您必须自己找出确切的值。下面是一些例子,我设置了margin_top
暂定为200dp:8nuwlpux2#
可以使用relativelayout:
xjreopfe3#
在android设备上安装设备信息。然后打开它并找到“显示”选项卡。在那里,你会发现你的屏幕大小是这样的:1080x1920像素。假设您的屏幕大小为1080x2220,请选择具有相同大小的设备。
可以为不同密度的桶创建布局文件夹。有
ldpi:0.75倍或75%(~120 dpi)
mdpi:1x或100%(基本屏幕)(~160 dpi)
hdpi:1.5倍或150%(~240 dpi)
xhdpi:2x或200%(~320 dpi)
xxhdpi:3倍或300%(~480 dpi)
hdpi:4x或400%(~640dpi)
假设一个设备是xhdpi,那么支持xhdpi的布局将只在xhdpi设备上进行缩放。
因此,如果您想为不同密度的桶创建不同的布局文件夹,请右键单击
res
文件夹并选择new
然后是布局文件夹。现在从列表中选择密度桶并选择最后一个密度桶。继续执行此操作,直到拥有密度桶的所有布局文件夹。
然后为布局选择设备。假设我在一个xhdpi设备的文件中,所以在布局编辑器中选择一个xhdpi设备。对所有布局文件执行此操作。。
然后针对不同密度的铲斗设计不同的布局。我希望它能帮助你。
如果英语不好,请编辑答案。谢谢