`
AaronGo
  • 浏览: 28835 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Fragment实现界面交互小实例<1>

阅读更多

先看一下效果图:

        左右各是一个Fragment,左边的三个按钮可以控制右边的背景色,右边的mood按钮,可以控制左边最上面的ImageView,这样就简单的实现了Fragment的界面交互。

        在MainActivity的布局中添加Fragment有两种方式,不同添加Fragment的方法,要实现两个Fragment的交互的差异是很大的,本文讲比较简单的一种,下一节讲另一种方式。

看MainActivity的布局文件mian.xml文件就明了了。

main.xml:

 

<LinearLayout 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:orientation="horizontal" >

    <fragment
        android:id="@+id/tag"
        android:name="com.aaron.LeftFragment"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1" />

    <fragment
        android:id="@+id/details"
        android:name="com.aaron.RightFragment"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="3.5" />
   
</LinearLayout>

       也就是直接在MainActivity的布局中添加两个Fragment的标签,这种情况下,在MainActivity中是可以直接findViewById拿到LeftFragment、RightFragment的布局文件中定义的组件的,看MainActivity类的代码

 

MainActivity.java

 

public class MainActivity extends FragmentActivity {

	private Button mood_btn, red_btn, green_btn, blue_btn;
	private ImageView iv;
	private int count = 0;
	private LinearLayout ll;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
		setContentView(R.layout.main);
		
		mood_btn = (Button)findViewById(R.id.mood);
		
		iv = (ImageView)findViewById(R.id.image);
		
		mood_btn.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				count ++;
				switch(count){
				case 1:
					iv.setImageResource(R.drawable.draw);
					break;
				case 2:
					iv.setImageResource(R.drawable.lose);
					break;
				case 3:
					iv.setImageResource(R.drawable.win);
					count = 0;
					break;
				}
			}
		});
		
		red_btn = (Button)findViewById(R.id.back_red);
		green_btn = (Button)findViewById(R.id.back_green);
		blue_btn = (Button)findViewById(R.id.back_blue);
		ll = (LinearLayout)findViewById(R.id.back);
		
		ButtonListener bl = new ButtonListener();
		red_btn.setOnClickListener(bl);
		green_btn.setOnClickListener(bl);
		blue_btn.setOnClickListener(bl);
		
	}
	
	class ButtonListener implements OnClickListener{

		@Override
		public void onClick(View v) {
			Button btn = (Button)v;
			switch(btn.getId()){
			case R.id.back_red:
				ll.setBackgroundResource(R.drawable.red);
				break;
			case R.id.back_green:
				ll.setBackgroundResource(R.drawable.green);
				break;
			case R.id.back_blue:
				ll.setBackgroundResource(R.drawable.blue);
				break;
			}
		}
	}

}

 LeftFragment、RightFragment类的代码就很简单了,两者是相似的,先贴出LeftFragment的代码。

 

LeftFragment.java

 

public class LeftFragment extends Fragment {
	
	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {
		
		View view = inflater.inflate(R.layout.left, container, false);
		return view;
	}
}

 

左右Fragment的布局文件根据截图就很好写了,现附上源代码。

 

  • 大小: 38.4 KB
分享到:
评论

相关推荐

    Fragment实现界面交互小实例<2>

    在"Fragment实现界面交互小实例&lt;2&gt;"中,我们可能看到如何在Fragment中创建布局,并与Activity进行数据传递。通常,我们会在onCreateView()或onViewCreated()中初始化布局,使用LayoutInflater从XML布局文件中加载...

    Fragment实现tab实例

    本实例"Fragment实现tab"主要展示了如何使用Fragment和FragmentTabHost来创建一个带有标签切换功能的界面。接下来,我们将详细讨论Fragment以及如何使用它们来实现tab切换效果。 Fragment是Android 3.0(API级别11...

    fragment之间交互1

    Fragment之间的交互是Android开发中的一个重要知识点,尤其在设计复杂界面和实现动态布局时,这种交互显得尤为重要。下面将详细讨论Fragment之间的交互,包括基本的通信方式、使用Bundle传递数据、事件总线以及最佳...

    Fragment实现tab实例 代码.zip

    List&lt;Fragment&gt; fragments = new ArrayList&lt;&gt;(); // 添加或替换Fragment实例 MyPagerAdapter adapter = new MyPagerAdapter(getSupportFragmentManager(), fragments); viewPager.setAdapter(adapter); tabLayout....

    Fragment实现新闻阅读实例

    这个“Fragment实现新闻阅读实例”旨在教你如何利用Fragment构建一个类似新闻阅读的应用场景。我们将深入探讨Fragment的基本概念、创建与管理以及在实际应用中的使用技巧。 首先,Fragment是Android系统为了应对大...

    Android Studio使用ViewPager+Fragment实现仿微信滑动切换界面

    List&lt;Fragment&gt; fragments = new ArrayList&lt;&gt;(); fragments.add(new PageFragment()); fragments.add(new PageFragment()); PageAdapter adapter = new PageAdapter(getSupportFragmentManager(), fragments); ...

    Fragment实现横竖屏的不同实现

    在Android应用开发中,Fragment是Android SDK提供的一种组件,它允许开发者在Activity中划分界面的各个部分,使得界面更加模块化。Fragment可以独立地进行生命周期管理,并且可以在不同的屏幕配置变化下保持状态,如...

    android利用viewPager和Fragment实现典型的选项卡界面

    List&lt;Fragment&gt; fragments = new ArrayList&lt;&gt;(); fragments.add(new FragmentTab1()); fragments.add(new FragmentTab2()); MyPagerAdapter adapter = new MyPagerAdapter(getSupportFragmentManager(), ...

    Android Fragment实例

    在Android应用开发中,Fragment是Android SDK中的一个重要组件,它被设计用来支持多屏幕适配和增强用户界面的模块化。Fragment允许开发者将应用程序的功能或UI部分分解为独立的、可重用的组件,这些组件可以在不同的...

    Android解决多个Fragment切换时布局重新实例化问题,并保存当前fragment页面,系统回收后还原之前fragment页面,更新版

    在Android应用开发中,Fragment是实现界面动态组合和交互的重要组件。然而,当涉及到多个Fragment之间的切换时,可能会遇到一个问题:每次切换时,Fragment的布局可能会被重新实例化,导致用户体验下降,例如丢失...

    [Android源码备份][聊天通讯]ViewPager+Fragment实现QQ界面

    在提供的压缩包文件中,"Android ViewPager+Fragment实现QQ界面"可能是项目源代码,可以从中学习到具体实现细节。`1-1209142132550-L.png`和`1_120914213532_1.png`可能是项目截图,帮助理解UI设计和布局结构。 ...

    Fragment与Activity之间通信实例

    在Android应用开发中,Fragment和Activity是两个核心组件,它们共同构建了用户界面。Fragment代表一个可重用的UI部分,而Activity则是程序中的一个窗口,它可以包含一个或多个Fragment。Fragment与Activity之间的...

    炫酷Fragment实例二代码

    在平板电脑等大屏幕设备上,Fragment使得开发者可以将一个Activity拆分成多个可独立交互的部分,而在手机等小屏幕设备上,它们则可以帮助构建更复杂、可重用的界面。本实例“炫酷Fragment”将深入探讨如何利用...

    fragment之间的切换实例

    在XML布局文件中,可以使用`&lt;fragment&gt;`标签将Fragment嵌入到Activity布局中,而通过代码添加则需要使用`FragmentManager`和`FragmentTransaction`。 当涉及到Fragment之间的切换时,通常会用到`...

    VIewPager+Fragment实现仿微信界面

    在Android开发中,"VIewPager+Fragment实现仿微信界面+(BadgView)数字提醒"是一个常见的需求,它涉及到UI设计、页面滑动切换以及通知提醒的实现。下面将详细讲解这一主题的相关知识点。 首先,ViewPager是Android ...

    Android实现ViewPager+Fragment左右滑动

    List&lt;Fragment&gt; fragments = new ArrayList&lt;&gt;(); fragments.add(new FragmentOne()); fragments.add(new FragmentTwo()); // 创建PagerAdapter MyPagerAdapter adapter = new MyPagerAdapter...

    Fragment和Activity交互(Handler方式)

    在本篇文章中,我们将深入探讨如何通过Handler机制来实现Fragment与Activity之间的交互,并能互相改变彼此的用户界面。 首先,理解Handler机制是关键。Handler是Android中用于线程间通信的一种方式,它允许我们在...

    ViewPage+Fragment界面滑动

    private List&lt;Fragment&gt; fragmentList = new ArrayList&lt;&gt;(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main)...

    Android ViewPager+Fragment实现QQ界面.rar

    在这个"Android ViewPager+Fragment实现QQ界面"的项目中,我们将深入探讨如何利用这两个关键组件来复现QQ的界面交互。 首先,`ViewPager`是Android Support Library的一部分,它提供了一个可以水平滑动的视图容器,...

    Fragment实例一(源码)

    标题"Fragment实例一(源码)"暗示我们将探讨一个关于Fragment的简单实现,这通常包括创建一个新的Fragment类,将它添加到Activity中,并处理与之相关的生命周期方法。在Android Studio中,开发者通常会创建一个继承...

Global site tag (gtag.js) - Google Analytics