В течение нескольких месяцев я пытался создать такой макет:
in Android studio, который займет весь экран (но в черных полях, которые вы видите на заднем плане, будет прокрутка textViews). структура папок, указанная на веб-сайте Google Developers (hdpi, xhdpi, xxhdpi, xxxhdpi), и макет с использованием ConstraintLayout, но все же я сталкиваюсь с той же проблемой. горизонтальные textViews, хотя экран пользователя изменяется по размеру и плотности, они перемещаются с желаемого положения, тем самым разрушая пользователя Я сбит с толку, так как сделал все, что в моих силах, чтобы исправить это. Я прочитал несколько статей, но если у кого-то есть хорошие предложения по чтению, не стесняйтесь, дайте мне знать.
Вот мой файл .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"
android:background = "@drawable/card_details_open">
<android.support.constraint.Guideline
android:id = "@+id/hor_top"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:orientation = "horizontal"
app:layout_constraintGuide_begin = "111dp" />
<TextView
android:id = "@+id/first"
android:layout_width = "0dp"
android:layout_height = "wrap_content"
android:layout_marginEnd = "8dp"
android:ellipsize = "marquee"
android:focusable = "true"
android:focusableInTouchMode = "true"
android:fontFamily = "monospace"
android:marqueeRepeatLimit = "marquee_forever"
android:scrollHorizontally = "true"
android:singleLine = "true"
android:text = "LEADER SKILL OR SOMETHING that's long and will make the text scroll in order to show something"
android:textColor = "@color/white"
app:layout_constraintEnd_toStartOf = "@+id/vert_right"
app:layout_constraintStart_toStartOf = "@+id/vert_left"
app:layout_constraintTop_toTopOf = "@+id/hor_top" />
<TextView
android:id = "@+id/second"
android:layout_width = "0dp"
android:layout_height = "19dp"
android:layout_marginEnd = "8dp"
android:layout_marginTop = "18dp"
android:ellipsize = "marquee"
android:focusable = "true"
android:focusableInTouchMode = "true"
android:fontFamily = "monospace"
android:marqueeRepeatLimit = "marquee_forever"
android:paddingBottom = "-10dp"
android:scrollHorizontally = "true"
android:singleLine = "true"
android:text = "LEADER SKILL OR SOMETHING that's long and will make the text scroll in order to show something"
android:textColor = "@android:color/holo_blue_light"
app:layout_constraintEnd_toStartOf = "@+id/vert_right"
app:layout_constraintStart_toStartOf = "@+id/first"
app:layout_constraintTop_toBottomOf = "@+id/first" />
<TextView
android:id = "@+id/third"
android:layout_width = "0dp"
android:layout_height = "wrap_content"
android:layout_marginBottom = "8dp"
android:layout_marginEnd = "8dp"
android:ellipsize = "marquee"
android:focusable = "true"
android:focusableInTouchMode = "true"
android:fontFamily = "monospace"
android:marqueeRepeatLimit = "marquee_forever"
android:paddingBottom = "@dimen/_2sdp"
android:scrollHorizontally = "true"
android:singleLine = "true"
android:text = "LEADER SKILL OR SOMETHING that's long and will make the text scroll in order to show something"
android:textColor = "@color/white"
app:layout_constraintBottom_toTopOf = "@+id/hor_bot"
app:layout_constraintEnd_toStartOf = "@+id/vert_right"
app:layout_constraintStart_toStartOf = "@+id/second" />
<android.support.constraint.Guideline
android:id = "@+id/hor_bot"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:orientation = "horizontal"
app:layout_constraintGuide_begin = "198dp" />
<LinearLayout
android:id = "@+id/linearLayout3"
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:orientation = "horizontal">
<TextView
android:id = "@+id/textView12"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_marginStart = "35dp"
android:layout_weight = "1"
android:text = "TextView"
android:textColor = "@color/white" />
<TextView
android:id = "@+id/textView13"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_marginEnd = "10dp"
android:layout_marginStart = "25dp"
android:layout_weight = "0.30"
android:text = "TextView"
android:textColor = "@color/white" />
<TextView
android:id = "@+id/textView11"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_marginStart = "50dp"
android:layout_weight = "1"
android:text = "TextView"
android:textColor = "@color/white" />
</LinearLayout>
<android.support.constraint.Guideline
android:id = "@+id/vert_left"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:orientation = "vertical"
app:layout_constraintGuide_begin = "72dp" />
<android.support.constraint.Guideline
android:id = "@+id/vert_right"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:orientation = "vertical"
app:layout_constraintGuide_begin = "335dp" />
</android.support.constraint.ConstraintLayout>
@ Locdoc01 добавил: D
Это потому, что ваша направляющая «vert_right» ограничена фиксированным расстоянием до границы макета оставил, но должна быть ограничена правой границей макета. Просто измени это
<android.support.constraint.Guideline
android:id = "@+id/vert_right"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:orientation = "vertical"
app:layout_constraintGuide_begin = "335dp" />
в это
<android.support.constraint.Guideline
android:id = "@+id/vert_right"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:orientation = "vertical"
app:layout_constraintGuide_end = "72dp" />
К сожалению, нет, textViews все еще перемещаются на разных телефонах.
ммм, тогда я думаю, я неправильно понял твою проблему. Вы имеете в виду, что вы не хотите, чтобы TextView работал (перемещался) по экрану вообще?
нет, я просто не хочу, чтобы он двигался. Мне нужно, чтобы макет правильно масштабировался, но textViews продолжают перемещаться с места.
пожалуйста, опубликуйте свой XML-файл макета