0

Androidプラットフォーム用の柔軟なユーザーインターフェイスを作成したいと思います。

基本的に、私のレイアウトは、先頭に「プラス」記号が付いた画像ボタンで構成されます。ユーザーがクリックしたとき。別のレイアウトが呼び出され、ユーザーは作成されるはずの画像ボタンに名前を付けるように求められます。ユーザーが[確認]をクリックすると、最初のレイアウトに戻り、新しく追加された画像ボタンが「」の位置を置き換えます。プラス記号の画像ボタンとプラス記号の画像ボタンは右にシフトします。

私は最初にレイアウトを作成する方法を知っていますが、上記のように機能するようにレイアウトをプログラムする方法がわかりません。

さて、メインのレイアウトファイルを次のように設定しました。

<?xml version="1.0" encoding="utf-8"?>
    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fillViewport="true" >

<RelativeLayout 

    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="#000000"  >
    <ImageButton
        android:id="@+id/addRoom"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="25dp"
        android:layout_marginTop="38dp"
        android:background="#80000000"
        android:src="@drawable/plus" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="@+id/addRoom"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/addRoom"
        android:layout_alignRight="@+id/addRoom"
        android:layout_below="@+id/addRoom"
        android:text="@string/add_room"
        android:gravity="center"
        android:textColor="#FFFFFF" />

    </RelativeLayout>
</ScrollView>

画像ボタンとテキストビューの両方に位置合わせの指示があるときに画像ボタンとテキストビューをシフトするフラグメントを含めると、問題が発生しますか?

4

1 に答える 1

2

ユーザーがアクティビティの UI をリアルタイムで操作したい場合は、フラグメントとフラグメント マネージャーを使用して、アクティビティのビューの異なる部分を変更することをお勧めします。

ドキュメントで素晴らしい情報を見つけることができます:

http://developer.android.com/guide/components/fragments.html

また

http://marakana.com/s/post/1250/android_fragments_tutorial

あなたの場合、次のようなことをします:

fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.remove(plusButtonFragment)
.add(R.id.containerForFragments,userNewFragment)
.add(R.id.containerForFragments, plusButtonFragment)).commit();

plusButtonFragmentuserNewFragmentを作成した後。

アップデート:

相対レイアウトでフラグメントの場所を管理するには、次の投稿をチェックしてください。

相対レイアウトでプログラムでフラグメントを追加する方法

于 2013-03-01T19:43:09.763 に答える