【问题标题】:Keep view the same on all devices在所有设备上保持相同的视图
【发布时间】:2017-08-20 01:14:23
【问题描述】:

如何更改我的活动 xml 文件,以便无论屏幕大小如何,视图都保持不变。我的意思是按钮或文本所在的位置。我希望它保持相对相同的距离和一切。我该怎么做?相对布局是否适用,或者我还需要做些什么才能使所有设备上的视图都相同吗?

XML 文件:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.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="com.example.navjeevenmann.mytycoon.MainActivity">


<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar2"
    android:layout_width="0dp"
    android:layout_height="59dp"
    android:background="#2C3AAD"
    android:minHeight="?attr/actionBarSize"
    android:theme="?attr/actionBarTheme"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintHorizontal_bias="1.0"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="1.0" />

<TextView
    android:id="@+id/textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="8dp"
    android:text=""
    android:textColor="#000"
    android:textSize="25sp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintHorizontal_bias="0.21"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.01999998" />


<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text=""
    android:textColor="#000"
    android:textSize="25sp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintHorizontal_bias="0.8"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.02" />

<ImageButton
    android:id="@+id/button"
    android:layout_width="247dp"
    android:layout_height="243dp"
    android:background="#0000"
    android:src="@drawable/opengraph"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintHorizontal_bias="0.503"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<ImageButton
    android:id="@+id/autoclick"
    android:layout_width="49dp"
    android:layout_height="47dp"
    android:src="@drawable/cursor"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintHorizontal_bias="0.9"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.991" />

<ImageButton
    android:id="@+id/imageview"
    android:layout_width="62dp"
    android:layout_height="58dp"
    android:adjustViewBounds="true"
    android:background="#2c3aad"
    android:maxHeight="62dp"
    android:maxWidth="5dp"
    android:scaleType="fitXY"
    android:src="@drawable/home"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="1.0" />

<ImageButton
    android:id="@+id/singleclick"
    android:layout_width="47dp"
    android:layout_height="47dp"
    android:background="#2C3AAD"
    android:src="@drawable/singlecursor"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintHorizontal_bias="0.1"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.99" />

<ImageButton
    android:id="@+id/imageButton2"
    android:src="@drawable/notes"
    android:layout_width="47dp"
    android:layout_height="49dp"
    android:adjustViewBounds="true"
    android:maxHeight="62dp"
    android:maxWidth="5dp"
    android:scaleType="fitXY"
    android:background="@null"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.0"
    app:layout_constraintHorizontal_bias="0.047" />

<TextView
    android:id="@+id/textView5"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text=""
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.100000024" />

【问题讨论】:

  • ConstraintLayout 绝对是要走的路。查看constraintlayout.github.io。你可以用百分比和相对布局做的所有事情都可以用约束来完成(并且比嵌套布局具有更好的性能)。
  • 请给出您的设计。ConstraintLayout 是最好的。

标签: android xml android-layout view


【解决方案1】:

如果您希望它在其他设备中相同,您可以使用布局百分比。以下链接可供您参考Percentage layoutPercent Relative Layout

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-20
    • 1970-01-01
    • 1970-01-01
    • 2015-07-15
    • 1970-01-01
    相关资源
    最近更新 更多