2

私はRelativeLayoutを持っています。これを「スライダー」と呼びます。「AddPeople」をクリックしたときに別のRelativeLayoutにオーバーレイします(visibility = "gone"と"visible"を切り替えます)が、オーバーレイは必要なだけ画面の幅を広げます。このレイアウトは、「キャンセル」をクリックすると削除されます。これまでのところ、すべてが正常に機能しています。

correct_closed correct_open

RelativeLayout slider;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_people);
    RelativeLayout add = (RelativeLayout) findViewById(R.id.add_wrapper);
    RelativeLayout cancel = (RelativeLayout) findViewById(R.id.cancel_wrapper);
    slider = (RelativeLayout) findViewById(R.id.add_people_slider);

    add.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            slider.setVisibility(View.VISIBLE);
        }
    });

    cancel.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            slider.setVisibility(View.GONE);
        }
    });
}

この問題は、スライダーに別の画像を追加しようとすると発生します。これをXMLの@id/ cancel_wrapper RelativeLayoutのすぐ上に追加しています(下部に完全なXMLがあります)。

<ImageView
        android:id="@+id/transparent_add"
        android:src="@drawable/ic_add_active_256"
        android:layout_height="30dp"
        android:layout_width="30dp"
        android:layout_alignParentTop="true"
        android:layout_alignParentRight="true" />

悪い

何らかの理由で、これはスライダーの幅を画面の全幅にします。

さらに奇妙なのは、android:layout_marginRight="50dp"このImageViewに追加して少し左に移動すると、スライダーが左から小さくなり始めることです。この「transparent_add」画像を古い「add」画像と並べてほしい。

マージンが悪い

私の2つの問題は、「transparent_add」画像を追加すると、不明な理由でスライダーの幅が変わることです。また、画像にmarginRightを追加すると、スライダーの幅が左から小さくなります。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/white" >

<TextView
    android:id="@+id/btn_people"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:paddingLeft="10dp"
    android:text="@string/label_people"
    android:textColor="@color/blue"
    android:textSize="16dp" />

<TextView
    android:id="@+id/people_info"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@id/btn_people"
    android:paddingLeft="10dp"
    android:text="@string/label_people_info"
    android:textSize="11dp" />

<RelativeLayout
    android:id="@+id/add_wrapper"
    android:layout_width="65dp"
    android:layout_height="50dp"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:background="@color/blue" >

    <ImageView
        android:id="@+id/plus_sign"
        android:layout_width="25dp"
        android:layout_height="25dp"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_marginRight="19dp"
        android:layout_marginTop="6dp"
        android:src="@drawable/ic_add_256" />

    <TextView
        android:id="@+id/add_people"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:paddingBottom="2dp"
        android:text="@string/label_add_people"
        android:textColor="@color/white"
        android:textSize="11dp" />
</RelativeLayout>

<ListView
    android:id="@+id/contacts_list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignParentLeft="true"
    android:layout_below="@id/people_info" />

<!-- switch between visible/gone -->
<RelativeLayout
    android:id="@+id/add_people_slider"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_alignParentRight="true"
    android:background="@color/blue"
    android:visibility="gone" >

    <TextView
        android:id="@+id/label_add_new_contact"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="65dp"
        android:layout_alignParentTop="true"
        android:paddingLeft="10dp"
        android:paddingRight="15dp"
        android:text="@string/label_add_new_contact"
        android:textColor="@color/white"
        android:textSize="16dp" />

    <TextView
        android:id="@+id/label_add_from_phone"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/label_add_new_contact"
        android:paddingLeft="10dp"
        android:paddingRight="15dp"
        android:paddingTop="15dp"
        android:text="@string/label_add_from_phone"
        android:textColor="@color/white"
        android:textSize="16dp" />

    <TextView
        android:id="@+id/label_add_from_facebook"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/label_add_from_phone"
        android:paddingLeft="10dp"
        android:paddingRight="15dp"
        android:paddingTop="15dp"
        android:text="@string/label_add_from_facebook"
        android:textColor="@color/white"
        android:textSize="16dp" />

    <TextView
        android:id="@+id/label_add_from_linkedin"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/label_add_from_facebook"
        android:paddingLeft="10dp"
        android:paddingRight="15dp"
        android:paddingTop="15dp"
        android:text="@string/label_add_from_linkedin"
        android:textColor="@color/white"
        android:textSize="16dp" />

    <!-- insert image here -->

    <RelativeLayout
        android:id="@+id/cancel_wrapper"
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:paddingLeft="15dp"
        android:paddingRight="15dp"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:paddingBottom="10dp" >

        <ImageView
            android:id="@+id/image_cancel"
            android:layout_width="25dp"
            android:layout_height="25dp"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="4dp"
            android:src="@drawable/ic_close_256"/>

        <TextView
            android:id="@+id/label_cancel"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:text="@string/label_cancel"
            android:textColor="@color/white"
            android:textSize="8dp" />
    </RelativeLayout>
</RelativeLayout>
</RelativeLayout>

編集:これはEclipseと私のAndroidデバイスの両方で起こっています。

編集:「新しい連絡先を追加」テキストの上に画像を配置してから、その下にテキストを配置しようとしましたが、同じことが起こります

4

0 に答える 0