最近在整理天气的时候看到一个效果:进入程序默认是双曲线,点击双曲线后变成横向的天气信息;如下:
以上就是点击互相变化的
根据上图我也实现了这种功能:
思路:1.在一个总布局中包含两个布局
2.给总布局做监听
3.根据监听点击来显示隐藏和显示
代码:
总布局:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/toch" android:orientation="vertical" > <include layout="@layout/weather_chart" />//折线 <include android:visibility="gone" layout="@layout/weather_forecast" />//横向的信息 </LinearLayout>
显示和隐藏信息:
判断:
private static boolean open = true;
监听显示或者隐藏:
holder.toch.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (open) { open = false; holder.h.setVisibility(View.VISIBLE); holder.v.setVisibility(View.GONE); }else { open = true; holder.v.setVisibility(View.VISIBLE); holder.h.setVisibility(View.GONE); } // Toast.makeText(context, "weather点击", Toast.LENGTH_SHORT).show(); } });
以上就可以实现局部的布局替换了!