1

ImageView オブジェクトを線形レイアウト オブジェクト (2 つのボタンの親) の左側に配置しようとしています。私は基本的に、中央に配置されたボタンの左側に画像を配置して、画面の水平方向に中央に配置された 2 つのボタンが必要です。ボタンを水平方向に中央に配置したままにしたいのですが、配置された画像ビューを中央に配置するのではなく、単に横に配置する必要があります。

どんな提案も本当に素晴らしいでしょう。間違ったレイアウトで問題に取り組んでいた可能性がありますが、私が試したことは次のとおりです。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    android:id="@+id/gameSettingsContainer"
    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:fitsSystemWindows="true"
    tools:context="com.example.vb1115.multchoicequestion.LaunchScreen"
    android:orientation="vertical"
    android:gravity="center_horizontal">
    <LinearLayout
        android:id="@+id/buttonContainer"
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="horizontal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
        <ToggleButton android:id="@+id/mathButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textOff="Math"
            android:textOn="Math"
            android:text="Math"/>
        <ToggleButton android:id="@+id/bioButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textOff="Biology"
            android:textOn="Biology"
            android:text="Biology"/>
    </LinearLayout>
    <ImageView
        android:id="@+id/animatedArrow"
        android:src="@mipmap/green_arrow"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_toLeftOf="@id/buttonContainer"/>
</RelativeLayout>
4

3 に答える 3

1

テストする Android Studio はありませんが、すでにいくつかの仮定を立てることができます...

第1に、ルートRelativeLayoutにandroid:orientation="vertical"も使用する必要はありません...android:gravity="center_horizontal"

android:layout_centerHorizontal2番目に、LinearLayoutに使用する2つの子要素を配置しandroid:layout_alignParentLeft、ImageViewに保持します...

これは少し良くなり始めるはずです...主なアイデアは、RelativeLayoutでは、通常、子供たちに自分の位置を決定させる方が効率的であるということです...これが役立つことを願っています.

于 2016-02-08T21:12:21.133 に答える
1

ここで解決

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    android:id="@+id/gameSettingsContainer"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">

    <LinearLayout
        android:id="@+id/buttonContainer"
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_centerHorizontal="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <ToggleButton
            android:id="@+id/mathButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Math"
            android:textOff="Math"
            android:textOn="Math"/>

        <ToggleButton
            android:id="@+id/bioButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Biology"
            android:textOff="Biology"
            android:textOn="Biology"/>
    </LinearLayout>

    <ImageView
        android:id="@+id/animatedArrow"
        android:layout_toStartOf="@+id/buttonContainer"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@mipmap/green_arrow"/>
</RelativeLayout>
于 2016-02-08T21:18:21.580 に答える