web-dev-qa-db-ja.com

Android Studio for RelativeLayout)の要素を移動できません

相対レイアウトにいくつかのボタン/テキストビューまたはその他のコンポーネントを追加しようとしています。左上以外には配置できません。ただし、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>

私はこれらのボタン/テキストビューを相対的に移動することを期待していますが、それらは左上に止まっています。

4
BurakS

呼び出されたビューエディターの上部に磁気ボタンがあります(自動接続のオン/オフ)。変更すると、相対レイアウト内でビューを移動できます。

15
ronin shahi

ただ有効にするAutoConnection to Parentデザインモードでマグネットアイコンをクリックし、[親への自動接続]を選択します enter image description here

1
mohammad

Uは相対レイアウトルールをレンダリングしませんでした。あなたが持っている layout_alignParentRightlayout_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

0
sana ebadi

XMLレイアウトのプレビューに使用される「プレビュー用のAPIバージョン」タブで使用しているものと同じ「SDKプラットフォームツール」をダウンロードしないと、この問題が発生する可能性があります。

Android XML Visualizer Tool-> Use Design View-> API version for Preview tab)に移動します

How to Navigate

その後、APIバージョンを確認し、それに類似したSDKプラットフォームツールをダウンロードしてください。

0
Wishwa Gayan

すべてのlayout_alignParentXXXX属性にチェックマークを付けるだけで、要素が親相対レイアウトでマージンとともに移動するのを確認できます。

0
Abhishek Anand

これは、すべてが左隅に散らかることを防ぐ方法の基本的なコードです。

<?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

0