0

リストビューフラグメントの下部にある[OK]/[キャンセル]ボタンで承認/キャンセルしたい。Fragmentsが進むべき道だと思いました(アニメーションもサポートする必要があります)。

しかし、私はそれを機能させることができません!最初のフラグメント(コードのfragmentPlaceholder)のみが表示されます

ボタンのxmlは、この投稿で受け入れられた回答から取得したものです。

標準のフチなしボタンを作成する方法(前述のデザインガイドラインのように)?

コードはC#ですが、問題はJavaでも同じです。フラグメントのxml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:layout_alignParentBottom="true">
        <View
            android:layout_width="match_parent"
            android:layout_height="1dip"
            android:layout_marginLeft="4dip"
            android:layout_marginRight="4dip"
            android:background="?android:attr/dividerVertical"
            android:layout_alignParentTop="true"/>
        <View
            android:id="@+id/ViewColorPickerHelper"
            android:layout_width="1dip"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_alignParentBottom="true"
            android:layout_marginBottom="4dip"
            android:layout_marginTop="4dip"
            android:background="?android:attr/dividerVertical" 
            android:layout_centerHorizontal="true"/>
        <Button
            android:id="@+id/btnCancel"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_toLeftOf="@id/ViewColorPickerHelper"
            android:background="?android:attr/selectableItemBackground"
            android:text="Cancel" 
            android:layout_alignParentBottom="true"/>
        <Button
            android:id="@+id/BtnColorPickerOk"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:background="?android:attr/selectableItemBackground"
            android:text="Ok" 
            android:layout_alignParentBottom="true" 
            android:layout_toRightOf="@id/ViewColorPickerHelper"/>
    </RelativeLayout>

アクティビティのxml:

<?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">
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:id="@+id/fragmentPlaceholder" />
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/addEventReportButtonPlaceholder"
            android:layout_weight="10"
            android:layout_gravity="bottom" />
    </LinearLayout>
    <ProgressBar
        android:id="@+id/addEventReportProgressBar"
        android:indeterminate="true"
        android:layout_width="50dp"
        android:layout_height="50dp"
        style="?android:attr/progressBarStyle"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true" />
</RelativeLayout>

フラグメントを含むコード:

var newFragment = new BottomButtonsFragment ();
FragmentTransaction ft = FragmentManager.BeginTransaction ();
ft.Add (Resource.Id.addEventReportButtonPlaceholder, newFragment).Commit ();

BottomButtonsFragmentは次のとおりです。

public class BottomButtonsFragment : Fragment
{
    public override View OnCreateView (LayoutInflater inflater, ViewGroup container,
                            Bundle savedInstanceState)
    {
        View v = inflater.Inflate (Resource.Layout.BottomButtonsFragment, container, false);
        return v;
    }
}
4

1 に答える 1

0

最上部のLinearLayoutのandroid:layout_weightを、最下部のandroid:layout_weightよりもはるかに大きく設定すると、問題が解決しました。

于 2013-03-18T12:28:08.897 に答える