1

クイズ ゲームには 1 つのメイン レイアウトがあり、その中にはさらに 3 つの入れ子になったレイアウトがあり、上下に縦に並んでいます。一番上のものには質問のテキスト ビューがあり、真ん中のものには 4 つのボタンが縦に並んでいます。今、1行の質問があるときはすべて問題ありませんが、質問が2行になるとすぐにボタンが1行下に移動します. これを防ぐ方法は?私の質問の下にあるものはすべて、動かないように固定し、静的にしたいのです。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/background"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="404dp"
        android:orientation="vertical"
        android:weightSum="2"
         >
  <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_weight="1" >

    <TextView
        android:id="@+id/tvPitanje"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_marginTop="20dp"
        android:gravity="center"
        android:text="@string/tvPitanje"
        android:textSize="22sp" /> 
    </LinearLayout>

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_weight="1" >

    <Button
        android:id="@+id/bOdgovor1"
        android:layout_width="260dp"
        android:layout_height="60dp"
        android:layout_gravity="center"
        android:layout_marginTop="10dp"
        android:background="@drawable/buttons"
        android:text="@string/bOdgovor1"
        android:textSize="26sp" />

    <Button
        android:id="@+id/bOdgovor2"
        android:layout_width="260dp"
        android:layout_height="60dp"
        android:layout_gravity="center"
        android:layout_marginTop="20dp"
        android:background="@drawable/buttons"
        android:text="@string/bOdgovor2"
        android:textSize="26sp" />

    <Button
        android:id="@+id/bOdgovor3"
        android:layout_width="260dp"
        android:layout_height="60dp"
        android:layout_gravity="center"
        android:layout_marginTop="20dp"
        android:background="@drawable/buttons"
        android:text="@string/bOdgovor3"
        android:textSize="26sp" />

    <Button
        android:id="@+id/bOdgovor4"
        android:layout_width="260dp"
        android:layout_height="60dp"
        android:layout_gravity="center"
        android:layout_marginTop="20dp"
        android:background="@drawable/buttons"
        android:text="@string/bOdgovor4"
        android:textSize="26sp" />

    </LinearLayout>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:orientation="horizontal" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1" >

        <Button
            android:id="@+id/bIzlazIzKviza"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginLeft="15dp"
            android:background="@drawable/buttons"
            android:text="@string/bIzlazKviz"
            android:textSize="23sp" />

        </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/tvCountdown"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="50dp"
            android:layout_marginTop="5dp"
            android:gravity="center"
            android:text="@string/tvCountdown"
            android:textColor="#ff0000"
            android:textSize="29sp" />

        <TextView
            android:id="@+id/tvSkor"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="30dp"
            android:layout_marginTop="5dp"
            android:gravity="center"
            android:text="@string/tvSkor"
            android:textSize="23sp" />

        </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1" >

        <TextView
            android:id="@+id/tvBrojPitanja"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginLeft="30dp"
            android:text="1"
            android:textSize="32sp" />

        </LinearLayout>

    </LinearLayout>

</LinearLayout>
4

1 に答える 1

0

少し後になりますが、この問題にはいくつかの解決策があります。ここでは、おそらく最もユーザーフレンドリーな 2 つを指摘します。

  1. すべてにスクロールビューを使用してください。これは最もユーザーフレンドリーなソリューションです。
  2. 定義された高さのテキストとボタンだけにスクロールビューを使用し、下のテキストとボタンを下に静的に配置してから、相対レイアウトを使用します。
  3. マーキー テキスト ビュー

ここで提示する最初のオプションには、いくつかのレイアウト リファクタリングが含まれています。2 番目のオプションは、使用することをお勧めしません。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:background="@android:color/background_light"
              android:orientation="vertical">

    <ScrollView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">

        <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical">

            <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:orientation="vertical">

                <TextView
                        android:id="@+id/tvPitanje"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:layout_marginLeft="5dp"
                        android:layout_marginRight="5dp"
                        android:layout_marginTop="20dp"
                        android:gravity="center"
                        android:text="long text that will automaticly scroll and make sure all content will be displayed right in the scrollview this is the best case scenario"
                        android:textSize="22sp"/>

                <Button
                        android:id="@+id/bOdgovor1"
                        android:layout_width="260dp"
                        android:layout_height="60dp"
                        android:layout_gravity="center"
                        android:layout_marginTop="10dp"
                        android:text="one"
                        android:textSize="26sp"/>

                <Button
                        android:id="@+id/bOdgovor2"
                        android:layout_width="260dp"
                        android:layout_height="60dp"
                        android:layout_gravity="center"
                        android:layout_marginTop="20dp"
                        android:text="two"
                        android:textSize="26sp"/>

                <Button
                        android:id="@+id/bOdgovor3"
                        android:layout_width="260dp"
                        android:layout_height="60dp"
                        android:layout_gravity="center"
                        android:layout_marginTop="20dp"
                        android:text="three"
                        android:textSize="26sp"/>

                <Button
                        android:id="@+id/bOdgovor4"
                        android:layout_width="260dp"
                        android:layout_height="60dp"
                        android:layout_gravity="center"
                        android:layout_marginTop="20dp"
                        android:text="four"
                        android:textSize="26sp"/>

            </LinearLayout>

            <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="fill_parent"
                    android:orientation="horizontal">

                <LinearLayout
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"
                        android:layout_weight="1">

                    <Button
                            android:id="@+id/bIzlazIzKviza"
                            style="?android:attr/buttonStyleSmall"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center"
                            android:layout_marginLeft="15dp"
                            android:text="left"
                            android:textSize="23sp"/>

                </LinearLayout>

                <LinearLayout
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"
                        android:layout_weight="1"
                        android:orientation="vertical">

                    <TextView
                            android:id="@+id/tvCountdown"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="50dp"
                            android:layout_marginTop="5dp"
                            android:gravity="center"
                            android:text="next"
                            android:textColor="#ff0000"
                            android:textSize="29sp"/>

                    <TextView
                            android:id="@+id/tvSkor"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="30dp"
                            android:layout_marginTop="5dp"
                            android:gravity="center"
                            android:text="middle"
                            android:textSize="23sp"/>

                </LinearLayout>

                <LinearLayout
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"
                        android:layout_weight="1">

                    <TextView
                            android:id="@+id/tvBrojPitanja"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center"
                            android:layout_marginLeft="30dp"
                            android:text="right"
                            android:textSize="32sp"/>

                </LinearLayout>

            </LinearLayout>

        </LinearLayout>

    </ScrollView>

</LinearLayout>

マーキーソリューションはあまり良くありません

android:singleLine="true" 
android:ellipsize="marquee"
android:marqueeRepeatLimit ="marquee_forever"
android:scrollHorizontally="true"
android:focusable="true"
android:focusableInTouchMode="true" 
于 2013-03-07T09:22:23.370 に答える