Android之Fragment实现界面交互小实例1
2013-08-20 09:54
344 查看
先看一下效果图:
左右各是一个Fragment,左边的三个按钮可以控制右边的背景色,右边的mood按钮,可以控制左边最上面的ImageView,这样就简单的实现了Fragment的界面交互。
在MainActivity的布局中添加Fragment有两种方式,不同添加Fragment的方法,要实现两个Fragment的交互的差异是很大的,本文讲比较简单的一种,下一节讲另一种方式。
看MainActivity的布局文件mian.xml文件就明了了。
main.xml:
也就是直接在MainActivity的布局中添加两个Fragment的标签,这种情况下,在MainActivity中是可以直接findViewById拿到LeftFragment、RightFragment的布局文件中定义的组件的,看MainActivity类的代码
MainActivity.java
LeftFragment、RightFragment类的代码就很简单了,两者是相似的,先贴出LeftFragment的代码。
LeftFragment.java
左右Fragment的布局文件根据截图就很好写了,现附上源代码。 http://download.csdn.net/detail/oyty892968/5978635
左右各是一个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的布局文件根据截图就很好写了,现附上源代码。 http://download.csdn.net/detail/oyty892968/5978635
相关文章推荐
- Android之Fragment实现界面交互小实例2
- 【Android】viewpager+fragment实现界面滑动,顶部导航也滑动
- Android之Fragment实现界面切换学习笔记
- 【Android游戏开发之五】游戏注册界面Demo-实现两个Activity之间的切换与数据交互!
- Android编程实现泡泡聊天界面实例详解(附源码)
- Android PreferenceFragment实现设置界面
- Android中使用开源框架EventBus3.0实现Fragment之间的通信交互
- 详解Android Fragment之三:Fragment界面的实现
- Android ViewPager和Fragment实现仿微信导航界面及滑动效果
- Android中Webview与原生界面交互及二维码扫描功能实现
- Android之Fragment+ViewPager实现点击+滑动界面切换学习笔记
- 【Android游戏开发之五】游戏注册界面Demo-实现两个Activity之间的切换与数据交互!
- Android研究之手势交互实例实现详解
- android Fragments详解三:实现Fragment的界面
- Android 实现登录界面和功能实例
- Android UI常用实例 如何实现欢迎界面(Splash Screen)
- Android程序开发之Fragment实现底部导航栏实例代码
- Android手机UI设计---”知乎“界面外观模仿篇(六)---在Fragment里使用Gallery结合listview实现listview横滑
- Android开发实例之miniTwitter登录界面的实现
- Android开发之Fragment与Activity的数据交互通过回调机制实现