片段填充事务中的所有活动

时间:2014-04-28 14:50:20

标签: android android-fragments fragmenttransaction

我正在做一个需要片段事务的应用程序,我做了它,并且它可以正常工作,但片段不会停留在替换的te frameLayout范围内,它会填充所有活动。

相关代码: MainActivity.java

public class MainActivity extends FragmentActivity 
{
@Override
    protected void onCreate(Bundle savedInstanceState)
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);

CircleFragment myFragment = new CircleFragment();                                                                                                                       
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction().replace(R.id.frm_profile, myFragment).commit();
     }
 }

activity_main.xml中

<FrameLayout
    android:id="@+id/frm_profile"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"                
    android:layout_alignParentTop="true"
    android:padding="5dp"
    android:background="@drawable/background_banner"      
 >     
    <RelativeLayout 
        android:id="@+id/rlt_profile"
        android:layout_width="match_parent"
        android:layout_marginTop="10dp"            
        android:layout_height="wrap_content">              
    <ImageView
        android:id="@+id/img_profile"
        android:layout_width="55dip"
        android:layout_height="55dip"
        android:contentDescription="@string/poi_poi_name"
        android:src="@drawable/logo_app_lrg" />    

    <TextView
        android:id="@+id/txt_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/img_profile"
        android:layout_toRightOf="@+id/img_profile"
        android:textColor="#040404"
        android:textSize="16sp"
        android:layout_marginLeft="10dp"
        android:text="Nombre"
        android:textStyle="bold"/>

    <TextView
        android:id="@+id/txt_status"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Status"
        android:layout_below="@+id/txt_name"
        android:layout_toRightOf="@+id/img_profile"
        android:textColor="#343434"
        android:layout_marginLeft="10dp"
        android:textSize="12sp" />    
     </RelativeLayout>     
</FrameLayout>    
 <com.google.android.gms.maps.MapView       
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentBottom="true"
    android:layout_below="@+id/Rlt_address"                 
    android:id="@+id/map_locations" />

  <LinearLayout 
    android:id="@+id/lnr_buttons"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:padding="10dp"
    android:background="@drawable/background_banner"
    android:weightSum="3"
    android:orientation="horizontal">
    <ImageButton
        android:id="@+id/btn_call"
        android:src="@android:drawable/ic_menu_call"
        android:background="#00000000"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"                            
        android:layout_weight="1"/>

    <ImageButton
        android:id="@+id/btn_sms"
        android:src="@android:drawable/ic_menu_manage"
        android:background="#00000000"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"                                            
        android:layout_weight="1"/> 

     <ImageButton
        android:id="@+id/btn_refresh"
        android:background="#00000000"
        android:src="@android:drawable/ic_menu_compass"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"                                                    
        android:layout_weight="1"/> 
    </LinearLayout>    

             机器人:choiceMode = “singleChoice”         机器人:分隔=“@机器人:彩色/透明”         机器人:dividerHeight = “0dp”         机器人:背景= “#0b4d69”/&GT;

CircleFragment.java

public class CircleFragment extends Fragment{

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
{
    return inflater.inflate(R.layout.list_element_circle, container,false);
}

@Override
public void onActivityCreated(Bundle savedInstanceState) 
{

}
}

list_element_circle.xml

    机器人:取向=“水平”     机器人:背景= “#0b4d69”     机器人:paddingTop = “2DP” &GT;

<View 
   android:background="#FFFFFF" 
   android:layout_height="2dp" 
   android:layout_width="fill_parent"/>    
<TextView
    android:id="@+id/list_element_circle_name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"        
    android:gravity="center_vertical"
    android:padding="5dp"                                                      
    android:text="Nombre"
    android:textColor="#FFFFFF"
    android:textSize="24sp"
    android:textStyle="bold"
    android:typeface="sans" />
<TextView
    android:id="@+id/list_element_circle_id"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"               
    android:padding="5dp"                                                      
    android:text=""
    android:textColor="#00000000"
    android:textSize="2sp"/>        
  <HorizontalScrollView 
    android:id="@+id/scrl_members"        
    android:layout_height="match_parent"
    android:scrollbars="none"
    android:paddingTop="40dp"
    android:paddingRight="5dp"
    android:paddingLeft="5dp"
    android:paddingBottom="10dp"
    android:layout_width="wrap_content">
    <LinearLayout 
        android:orientation="horizontal"
        android:layout_height="match_parent"
        android:layout_width="wrap_content">            
            <TextView
                android:id="@+id/list_element_circle_member1"
                android:drawableTop="@drawable/ic_action_person"
                android:drawablePadding="5dp"
                android:tag="list_element_circle_member1"
                android:textColor="#FFFFFF"
                android:layout_width="wrap_content"                 
                android:layout_height="match_parent"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="5dp"                    
                android:layout_gravity="center"                 
                android:text="Miembro"
                android:textSize="18sp" />
            <TextView
                android:id="@+id/list_element_circle_member2"
                android:drawableTop="@drawable/ic_action_person"
                android:tag="list_element_circle_member2"
                android:drawablePadding="5dp"
                android:textColor="#FFFFFF"
                android:layout_width="wrap_content"                 
                android:layout_height="match_parent"
                android:layout_marginLeft="5dp"
                android:layout_marginRight="5dp"                    
                android:layout_gravity="center"                 
                android:text="Miembro"
                android:textSize="18sp"/> 
            <TextView
                android:id="@+id/list_element_circle_member3"
                android:drawableTop="@drawable/ic_action_person"
                android:tag="list_element_circle_member3"
                android:drawablePadding="5dp"
                android:textColor="#FFFFFF"
                android:layout_width="wrap_content"                 
                android:layout_height="match_parent"
                android:layout_marginLeft="5dp"
                android:layout_marginRight="5dp"                    
                android:layout_gravity="center"                 
                android:text="Miembro"
                android:textSize="18sp"/> 
            <TextView
                android:id="@+id/list_element_circle_member4"
                android:drawableTop="@drawable/ic_action_person"
                android:tag="list_element_circle_member4"
                android:drawablePadding="5dp"
                android:textColor="#FFFFFF"
                android:layout_width="wrap_content"                 
                android:layout_height="match_parent"                    
                android:layout_gravity="center"
                android:layout_marginLeft="5dp"
                android:layout_marginRight="5dp"
                android:text="Miembro"
                android:textSize="18sp" /> 
            <TextView
                android:id="@+id/list_element_circle_member5"
                android:drawableTop="@drawable/ic_action_person"
                android:tag="list_element_circle_member5"
                android:drawablePadding="5dp"
                android:textColor="#FFFFFF"
                android:layout_width="wrap_content"                 
                android:layout_height="match_parent"                    
                android:layout_gravity="center" 
                android:layout_marginLeft="5dp"
                android:layout_marginRight="5dp"                
                android:text="Miembro"
                android:textSize="18sp" />                                 
    </LinearLayout>        
 </HorizontalScrollView>        

我该怎么做才能让它停留在frameLayout范围内?

MainActivity

2 个答案:

答案 0 :(得分:0)

你的布局非常庞大。 FrameLayout和Fragment按预期工作,但由于内容太大,所以需要占用所有空间。

在最外面的布局上添加ScrollView,如下所示,

<ScrollView
   android:layout_width="match_parent"
   android:layout_height="match_parent" >
    <FrameLayout
       android:id="@+id/frm_profile"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"                
       android:layout_alignParentTop="true"
       android:padding="5dp"
       android:background="@drawable/background_banner">

     //your remaining main activity here    
</ScrollView>

您将能够滚动查看其余的布局。 :)

答案 1 :(得分:0)

我只是重新设计应用程序,因为我尝试了大约3天,似乎没有任何工作。我做的是取出Horizo​​ntalScrollView。保持linearlayout水平,使布局内的项目更加合适。

这绝对不是一个好的答案,也不是我要找的那个,但这就是我解决这个问题的方法。