我正在做一个需要片段事务的应用程序,我做了它,并且它可以正常工作,但片段不会停留在替换的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范围内?
答案 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天,似乎没有任何工作。我做的是取出HorizontalScrollView。保持linearlayout水平,使布局内的项目更加合适。
这绝对不是一个好的答案,也不是我要找的那个,但这就是我解决这个问题的方法。