質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.45%

  • Android Studio

    4372questions

    Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Android Studio プロパティ内「layout:alignComponent」が見当たりません

解決済

回答 3

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 824

jonny441d3

score 1

前提・実現したいこと

初めて質問します。
独学でAndroidstudioを勉強しているプログラミング初心者です。
「Androidアプリを作ろう[AndroidStudio2.1対応版]」という電子書籍を見ながら練習をしております。
左端のtextViewと右端のbuttonを基準に中央にeditTextを配置するという事をしたいのですが、書籍に記述されている項目が見当たらず行き詰ってしまいました。

発生している問題・エラーメッセージ

現在activity_main.xmlのDesignモードの使い方を簡単なレイアウトを作りながら学んでいますが、
書籍に書かれているプロパティ内の「layout:alignComponent」という項目が見当たりません。
AndroidStudioのバージョンは2.3.2ですが、バージョンの違いが原因でしょうか?
「layout:alignComponent」に変わる項目はありますか?

試したこと

プロパティ内項目layout_alignLeftなどに値を入れてみましたが、
他のViewの上にかぶって横幅いっぱいに配置されてしまいます。

textViewの右端とbuttonの左端を基準に配置したいです↓
|textView||editText||button|

補足情報(言語/FW/ツール等のバージョンなど)

AndroidStudio バージョン2.3.2
OS Windows 10 pro

現在のコードはこんな感じです。
Edittextにlayout_to〇〇of= という項目に値を入れたら、
見た目は理想に近づきました。
(プログラムとして正しいかは分かりません・・・)

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="50dp"
            android:gravity="center_vertical"
            android:text="名前"
            android:textSize="25sp" />

        <Button
            android:id="@+id/button5"
            android:layout_width="wrap_content"
            android:layout_height="50dp"
            android:layout_alignParentRight="true"
            android:text="入力" />

        <EditText
            android:id="@+id/editText3"
            android:layout_width="wrap_content"
            android:layout_height="50dp"
            android:layout_toLeftOf="@+id/button5"
            android:layout_toRightOf="@+id/textView3"
            android:ems="10"
            android:inputType="textPersonName" />
    </RelativeLayout>
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • Kmassa

    2017/08/03 13:21

    ソースを記載して下さい。その書籍には「xmlns:layout」という記述はありませんか?

    キャンセル

  • jonny441d3

    2017/08/03 13:57

    コメントありがとうございます。xmlnsの一文はありませんでした。プロパティ項目「layout:alignComponentのleft:right」に値「textView」を指定してくださいと書いてあります。

    キャンセル

回答 3

checkベストアンサー

0

勘違いして質問をしてしまいましたが、xmlファイル上ではなくて
画面上にlayout:alignComponentという項目があるのですね。

以下はネットから拾ってきた画像ですが、
alignComponentは現状のAndroid Studioには存在しないようです。
イメージ説明

left:rightにtextViewを入れるというのは、
自身(editText)の左側を、対象(textView)の右側基準にするという意味ですね。

このalignComponentに値を入れた場合、xmlファイル上ではlayout_xxに設定されるという記述があったので、
layout_toRightOfを使用するのは正しい対応だと言えます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/08/04 09:56

    おはようございます。返信が遅くなり申し訳ございません。

    やはり現環境では存在しない項目だったのですね。
    ピンポイントで資料を提供頂きありがとうございます。
    ご助力下さり大変恐縮です。
    ほぼ正解とのこと、安心いたしました。
    自力で進めるところまで頑張りたいと思います。

    キャンセル

0

本の内容が判らないので「自分が前提の様に書くなら」ですがこんな感じじゃダメなのかな?
注:DesignモードではなくTextモードです

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

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:gravity="left"
            android:layout_weight="1">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:text="Hello World!"
                />

        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:gravity="center"
            android:layout_weight="1">

            <EditText
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:gravity="center"
                android:text="Hello World!"
                />

        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:gravity="right"
            android:layout_weight="1">

            <Button
                android:id="@+id/button"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:text="Button" />

        </LinearLayout>
    </LinearLayout>

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/08/03 14:09

    早速の回答ありがとうございます。
    前項でご回答を頂いた通りLinearLayoutでそろえる方法を勉強いたしまして、
    今度はRelativeLayoutで自由にレイアウトする方法の1つとして「layout:alignComponent」に値を入れるようにとの指示でした。

    キャンセル

  • 2017/08/03 14:19

    なるほど、課題として「今度はRelativeLayoutで記述する」という条件があった訳ですね。見当違いの回答をしてしまいました、失礼いたしました。

    キャンセル

  • 2017/08/03 14:22

    とんでもありません、プログラミングの質問にまだ慣れず大事な部分を落としてしまい申し訳ございません。
    丁寧にご回答いただきありがとうございます!

    キャンセル

0

質問のRelativeLayoutを使ったレイアウトファイルの書き方でいいと思います。

参考書に書いてあるのはあくまでも一例なので、今回のように自分で置き換えて同じ配置になるのであれば問題ないと思います。
むしろ、自分で作れる方が理想的ですね。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/08/03 14:26

    次のviewなどを追加した際にレイアウトが崩れなければ大丈夫、ぐらいの気持ちで大丈夫でしょうか。
    何も起こらなければこのまま暫く進めてみようと思います。
    ご回答いただきありがとうございました。

    キャンセル

  • 2017/08/03 14:36

    はい、問題ないと思います。
    書き方によっては速度に影響を及ぼしますが、これは知識が増えたあとに勉強すればいいと思いますよ。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.45%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る

  • Android Studio

    4372questions

    Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。