相対レイアウトにいくつかのボタン/テキストビューまたはその他のコンポーネントを追加しようとしています。左上以外には配置できません。ただし、XMLコードを編集すると問題なく動作します。
レイアウトをrelativeLayoutに変更しましたが、まだうまくいきません。 (Android Studio 3.3)
私のレイアウトxmlは:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
Android:id="@+id/activity_main"
xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:tools="http://schemas.Android.com/tools"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:paddingLeft="16dp"
Android:paddingRight="16dp"
Android:paddingTop="16dp"
Android:paddingBottom="16dp"
tools:context=".MainActivity">
<Button
Android:id="@+id/button"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Button" />
<TextView
Android:id="@+id/textView"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="TextView" />
</RelativeLayout>
私はこれらのボタン/テキストビューを相対的に移動することを期待していますが、それらは左上に止まっています。
呼び出されたビューエディターの上部に磁気ボタンがあります(自動接続のオン/オフ)。変更すると、相対レイアウト内でビューを移動できます。
ただ有効にするAutoConnection to Parent
デザインモードでマグネットアイコンをクリックし、[親への自動接続]を選択します
Uは相対レイアウトルールをレンダリングしませんでした。あなたが持っている layout_alignParentRight
layout_alignParentLeft
など。Uはそれらを使用する必要があります。たとえば、TextViewをボタンの下にしたい場合は、次のようなコードを記述します。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
Android:id="@+id/activity_main"
xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:tools="http://schemas.Android.com/tools"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
Android:id="@+id/button"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_centerHorizontal="true"
Android:text="Button" />
<TextView
Android:id="@+id/textView"
Android:layout_width="wrap_content"
Android:layout_centerHorizontal="true"
Android:layout_height="wrap_content"
Android:layout_below="@+id/button"
Android:text="TextView" />
</RelativeLayout>
https://developer.Android.com/guide/topics/ui/layout/relative
XMLレイアウトのプレビューに使用される「プレビュー用のAPIバージョン」タブで使用しているものと同じ「SDKプラットフォームツール」をダウンロードしないと、この問題が発生する可能性があります。
Android XML Visualizer Tool-> Use Design View-> API version for Preview tab)に移動します
その後、APIバージョンを確認し、それに類似したSDKプラットフォームツールをダウンロードしてください。
すべてのlayout_alignParentXXXX属性にチェックマークを付けるだけで、要素が親相対レイアウトでマージンとともに移動するのを確認できます。
これは、すべてが左隅に散らかることを防ぐ方法の基本的なコードです。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
Android:id="@+id/activity_main"
xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:tools="http://schemas.Android.com/tools"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:paddingLeft="16dp"
Android:paddingRight="16dp"
Android:paddingTop="16dp"
Android:paddingBottom="16dp"
tools:context=".MainActivity">
<Button
Android:id="@+id/button"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_centerHorizontal="true"
Android:layout_below="@+id/textView"
Android:text="Button" />
<TextView
Android:id="@+id/textView"
Android:layout_width="wrap_content"
Android:layout_centerHorizontal="true"
Android:layout_height="wrap_content"
Android:text="TextView" />
</RelativeLayout>
相対レイアウトでのビューの配置の詳細については、以下を参照してください。
https://developer.Android.com/guide/topics/ui/layout/relative