我想打开一个片段,想要给片段所在的视图充气。这可能吗? 我搜索了这些问题:
我无法找到答案,或者我忽略了它。是否有可能当我的片段在onclick之后打开时,我的布局将按钮(beetInfosButton)推到我的片段下面(它被封装在scrollView中),所以我的片段没有重叠?我是否必须使用其他布局而不是RelativeLayout?或者这是不可能的。希望有人能理解我想要的东西。提前谢谢你 这是活动代码。
public class InfoSeite extends AppCompatActivity implements BodenSeite.OnFragmentInteractionListener {
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_info_seite);
public void buttonBodenInfos(View view){
getFragmentManager().beginTransaction().add(R.id.fragment_container,new BodenSeite()).commit();
}
活动XML文件
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="#2fb215"
android:id="@+id/infoSeite">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/bodenInfosString"
android:id="@+id/bodenInfosButton"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="79dp"
android:onClick="buttonBodenInfos"/>
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/scrollView2"
android:layout_toEndOf="@+id/bodenInfosButton"
android:layout_below="@+id/bodenInfosButton"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" >
<FrameLayout
android:id="@+id/fragment_container"
android:layout_height="wrap_content"
android:layout_width="match_parent" />
</ScrollView>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/beetInfosString"
android:id="@+id/beetInfosButton"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:onClick="buttonBeetInfos" />
</RelativeLayout>
片段XML的样本。
<GridLayout 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:background="#2fb215"
android:columnOrderPreserved="true"
android:tag="BodenFragment"
android:id="@+id/bodenFragment">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/bodenArtenString"
android:id="@+id/bodenSeiteUeberschrift"
android:layout_row="0"
android:layout_column="0"
android:textSize="40dp"
android:textAlignment="center" />
答案 0 :(得分:2)
由于您使用的是RelativeLayout
,因此您可以选择&#34;坚持&#34; Views
相对于彼此 - 或他们的父母。
伪代码:
<RelativeLayout>
<Button />
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone"/>
<Button />
<RelativeLayout>
在你身上onClick
:
scrollView.setVisibility(View.GONE); //View.VISIBLE, when you close the fragment
答案 1 :(得分:0)
尝试以下代码:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="#2fb215"
android:id="@+id/infoSeite">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/bodenInfosString"
android:id="@+id/bodenInfosButton"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="79dp"
android:onClick="buttonBodenInfos"/>
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/scrollView2"
android:layout_toEndOf="@+id/bodenInfosButton"
android:layout_below="@+id/bodenInfosButton"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" >
<FrameLayout
android:id="@+id/fragment_container"
android:layout_height="wrap_content"
android:layout_width="match_parent" />
</ScrollView>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/beetInfosString"
android:id="@+id/beetInfosButton"
android:layout_below="@+id/scrollView2"
android:onClick="buttonBeetInfos" />
</RelativeLayout>