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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Android Studio

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

Q&A

解決済

3回答

2338閲覧

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

jonny441d3

総合スコア9

Android Studio

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

0グッド

0クリップ

投稿2017/08/03 02:52

編集2017/08/03 04:54

###前提・実現したいこと
初めて質問します。
独学で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>

気になる質問をクリップする

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Kmassa

2017/08/03 04:21

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

2017/08/03 04:57

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

回答3

0

ベストアンサー

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

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

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

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

投稿2017/08/03 06:48

Kmassa

総合スコア161

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jonny441d3

2017/08/04 00:56

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

0

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

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

投稿2017/08/03 05:04

yona

総合スコア18155

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jonny441d3

2017/08/03 05:26

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

2017/08/03 05:36

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

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 04:45

編集2017/08/03 04:50
rafiene3249

総合スコア53

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jonny441d3

2017/08/03 05:09

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

2017/08/03 05:19

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

2017/08/03 05:22

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問