首页 > 解决方案 > 无法为片段事务获得正确的设计

问题描述

目前我正在尝试创建一个片段设计,该设计将在单击加号按钮时显示。它看起来像这样。

在此处输入图像描述

这就是我得到的。

在此处输入图像描述

这是要显示的片段的代码。提示片段 xml:

<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">


<LinearLayout
    android:id="@+id/linearLayout2"
    android:layout_width="316dp"
    android:layout_height="250dp"
    android:layout_marginStart="8dp"
    android:layout_marginTop="24dp"
    android:background="@drawable/promptforadd"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.433"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent">


    <TextView
        android:id="@+id/textViewTakePhoto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:paddingBottom="180dp"
        android:text="Take Photo"
        android:textSize="24sp" />


</LinearLayout>

<Button
    android:id="@+id/buttonCancel"
    android:layout_width="316dp"
    android:layout_height="56dp"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="50dp"
    android:layout_marginEnd="8dp"
    android:layout_marginStart="8dp"
    android:layout_marginTop="8dp"
    android:background="@drawable/cancelbutton"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/linearLayout2"
    app:layout_constraintVertical_bias="1.0" />

这是与上述xml文件对应的当前设计。

在此处输入图像描述

这是膨胀我的片段的代码。

public class PromptFragment extends Fragment {

TextView textViewTakePhoto;
TextView textViewAlbum;
TextView textViewAddOutfit;
Button buttonCancel;

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.layout_promptforadd,container,false);
    textViewTakePhoto = v.findViewById(R.id.textViewTakePhoto);
    //textViewAlbum = v.findViewById(R.id.textViewAlbum);
    //textViewAddOutfit = v.findViewById(R.id.textViewAddOutfit);
    buttonCancel = v.findViewById(R.id.buttonCancel);

    buttonCancel.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Toast.makeText(v.getContext(),"you clicked on button ",Toast.LENGTH_SHORT).show();
        }
    });
    return v;
    }
}

我在我希望我的片段膨胀的家庭活动中添加了一个框架布局。我使用片段事务将我的片段添加到框架布局中。我的片段设计甚至不对应于我得到的输出,所以我不知道如何去做。

标签: javaandroidandroid-fragments

解决方案


好的,我设法解决了!这是任何感兴趣的人的xml文件。

promptFrag xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">


<Button
    android:id="@+id/buttonCancel"
    android:layout_width="316dp"
    android:layout_height="56dp"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="10dp"
    android:background="@drawable/cancelbutton" />

<ImageView
    android:id="@+id/imageView3"
    android:layout_width="316dp"
    android:layout_height="217dp"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="80dp"
    android:background="@drawable/promptforadd"
    android:contentDescription="@null" />

<TextView
    android:id="@+id/textViewTakePhoto"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="247dp"
    android:text="Take Photo"
    android:textSize="24sp" />

<TextView
    android:id="@+id/textViewAlbum"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="170dp"
    android:text="Choose from album"
    android:textSize="24sp" />

<TextView
    android:id="@+id/textViewAddOutfit"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="99dp"
    android:text="Add Outfit"
    android:textSize="24sp" />

</RelativeLayout>

推荐阅读