我是靠谱客的博主 洁净洋葱,最近开发中收集的这篇文章主要介绍Android动态添加5个图片资,Android 动态添加Fragment的实例代码,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.fragment1布局及代码

布局

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context=".Fragment1Activity">

android:layout_width="match_parent"

android:layout_height="100dp"

android:name="com.example.administrator.jreduch06.fragment.TopFragment"

android:id="@+id/top_fragment"

android:layout_alignParentTop="true"

android:layout_alignParentEnd="true">

android:layout_width="match_parent"

android:layout_height="300dp"

android:id="@+id/leftfragment"

android:name="com.example.administrator.jreduch06.fragment.LeftFragment"

android:layout_below="@+id/top_fragment"

android:layout_alignParentStart="true">

android:layout_width="match_parent"

android:layout_height="match_parent"

android:id="@+id/fl"

android:layout_alignParentStart="true"

android:layout_below="@+id/leftfragment">

代码

package com.example.administrator.jreduch06;

import android.os.Bundle;

import android.support.v7.app.AppCompatActivity;

import android.support.v4.app.Fragment;

import com.example.administrator.jreduch06.fragment.FirstFragment;

import com.example.administrator.jreduch06.fragment.LeftFragment;

import com.example.administrator.jreduch06.fragment.SecondFragment;

public class Fragment1Activity extends AppCompatActivity implements LeftFragment.Myinterface {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_fragment1);

}

@Override

public void onchangeFragment(int which) {

if(which==1){

Fragment fragment1=new FirstFragment();

getSupportFragmentManager()

.beginTransaction()

.replace(R.id.fl, fragment1)

.commit();

}else if(which==2){

Fragment fragment2=new SecondFragment();

getSupportFragmentManager()

.beginTransaction()

.replace(R.id.fl,fragment2)

.commit();

}

}

}

2.fragment2布局及代码

布局

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context="com.example.administrator.jreduch06.Fragment2Activity">

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:id="@+id/one_fragment"

android:name="com.example.administrator.jreduch06.fragmentcallback.OneFragment"

>

android:layout_width="match_parent"

android:layout_height="match_parent"

android:id="@+id/fl2"

android:layout_below="@+id/linearlatout"

>

代码:

package com.example.administrator.jreduch06;

import android.support.v4.app.Fragment;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import com.example.administrator.jreduch06.fragment.FirstFragment;

import com.example.administrator.jreduch06.fragment.SecondFragment;

import com.example.administrator.jreduch06.fragmentcallback.OneFragment;

public class Fragment2Activity extends AppCompatActivity

implements OneFragment.OnFragmentInteractionListener{

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_fragment2);

}

@Override

public void changeFragment(int which) {

if(which==1){

Fragment fragment1=new FirstFragment();

getSupportFragmentManager()

.beginTransaction()

.replace(R.id.fl2, fragment1)

.commit();

}else if(which==2){

Fragment fragment2=new SecondFragment();

getSupportFragmentManager()

.beginTransaction()

.replace(R.id.fl2,fragment2)

.commit();

}

}

}

3.FirstFragment代码及布局

布局:

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context="com.example.administrator.jreduch06.fragment.FirstFragment">

android:layout_width="match_parent"

android:layout_height="match_parent"

android:gravity="center"

android:textSize="30sp"

android:id="@+id/tv"

android:text="我是Fragment1"

android:layout_gravity="center_horizontal|bottom" />

代码:

package com.example.administrator.jreduch06.fragment;

import android.os.Bundle;

import android.support.v4.app.Fragment;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import com.example.administrator.jreduch06.R;

/**

* A simple {@link Fragment} subclass.

*/

public class SecondFragment extends Fragment {

public SecondFragment() {

// Required empty public constructor

}

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState) {

// Inflate the layout for this fragment

return inflater.inflate(R.layout.fragment_second, container, false);

}

}

4.SecondFragment代码及布局

布局:

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context="com.example.administrator.jreduch06.fragment.SecondFragment">

android:layout_width="match_parent"

android:layout_height="match_parent"

android:gravity="center"

android:textSize="30sp"

android:text="我是Fragment2" />

代码:

package com.example.administrator.jreduch06.fragment;

import android.os.Bundle;

import android.support.v4.app.Fragment;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import com.example.administrator.jreduch06.R;

/**

* A simple {@link Fragment} subclass.

*/

public class FirstFragment extends Fragment {

public SecondFragment() {

// Required empty public constructor

}

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState) {

// Inflate the layout for this fragment

return inflater.inflate(R.layout.fragment_first, container, false);

}

}

5.LeftFragment布局及代码

布局:

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:background="#bece0d"

tools:context="com.example.administrator.jreduch06.fragment.LeftFragment">

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="第一个Fragment"

android:id="@+id/bt1"

/>

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="第二个Fragment"

android:id="@+id/bt2"

/>

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="callback1"

android:id="@+id/bt3"

/>

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="callback2"

android:id="@+id/bt4"

/>

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="隐藏"

android:id="@+id/bt5"

/>

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="显示"

android:id="@+id/bt6"

/>

代码:

package com.example.administrator.jreduch06.fragment;

import android.content.Context;

import android.os.Bundle;

import android.support.v4.app.Fragment;

import android.support.v4.app.FragmentManager;

import android.support.v4.app.FragmentTransaction;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.Button;

import android.widget.Toast;

import com.example.administrator.jreduch06.R;

/**

* A simple {@link Fragment} subclass.

*/

public class LeftFragment extends Fragment {

private Fragment fragment1;

private Fragment fragment2;

private Myinterface myinterface ;

public LeftFragment() {

}

@Override

public void onAttach(Context context) {

super.onAttach(context);

if (context instanceof Myinterface) {

myinterface= (Myinterface) context;

} else {

throw new RuntimeException(context.toString()

+ " must implement OnFragmentInteractionListener");

}

}

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState) {

View view=inflater.inflate(R.layout.fragment_left, container, false);

Button bt1= (Button) view.findViewById(R.id.bt1);

Button bt2= (Button) view.findViewById(R.id.bt2);

Button bt3= (Button) view.findViewById(R.id.bt3);

Button bt4= (Button) view.findViewById(R.id.bt4);

Button bt5= (Button) view.findViewById(R.id.bt5);

Button bt6= (Button) view.findViewById(R.id.bt6);

bt1.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

Toast.makeText(getContext(), "点击了按钮1", Toast.LENGTH_SHORT).show();

fragment1=new FirstFragment();

FragmentManager fm=getFragmentManager();

FragmentTransaction fr=fm.beginTransaction();

fr.replace(R.id.fl,fragment1);

fr.commit();

}

});

bt2.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

fragment2 = new SecondFragment();

FragmentManager fm = getFragmentManager();

FragmentTransaction fr = fm.beginTransaction();

fr.replace(R.id.fl, fragment2);

fr.commit();

}

});

bt3.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

myinterface.onchangeFragment(1);

}

});

bt4.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

myinterface.onchangeFragment(2);

}

});

bt5.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

if(fragment1!=null&& !fragment1.isHidden()){

getFragmentManager().beginTransaction()

.hide(fragment1).commit();

}

if(fragment2!=null&& !fragment2.isHidden()){

getFragmentManager().beginTransaction()

.hide(fragment2).commit();

}

}

});

bt6.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

if(fragment1!=null&&fragment1.isHidden()){

getFragmentManager().beginTransaction()

.show(fragment1).commit();

}

if(fragment2!=null&& fragment2.isHidden()){

getFragmentManager().beginTransaction()

.hide(fragment2).commit();

}

}

});

return view;

}

public interface Myinterface {

void onchangeFragment(int which);

}

}

效果:

点击第一个按钮出现Fragment1.

点击第二个按钮出现Fragment2

点击第三个按钮出现Fragment1.(方法不同)

点击第四个按钮出现Fragment2.(方法不同)

点击隐藏,字条消失

点击显示,字条出现

967900202ed0269bad484d6ea01aea85.png

以上所述是小编给大家介绍的Android 动态添加Fragment的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

最后

以上就是洁净洋葱为你收集整理的Android动态添加5个图片资,Android 动态添加Fragment的实例代码的全部内容,希望文章能够帮你解决Android动态添加5个图片资,Android 动态添加Fragment的实例代码所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部