仿腾讯新闻,点击屏幕重新加载的实现,直接贴代码

<pre class="java" name="code">package com.example.clicktoreload;

import com.example.clicktoreload.ClickScreenToReload.Reload;

import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import android.view.Menu;

public class MainActivity extends Activity {
	ClickScreenToReload  clickScreenToReload ;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	    clickScreenToReload = (ClickScreenToReload) findViewById(R.id.clickScreenToReload1);
	    new Thread(){
	    	public void run() {
	    		try {
					Thread.sleep(2000);
				} catch (InterruptedException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
	    		handler.sendEmptyMessage(0);
	    	};
	    }.start();
	   clickScreenToReload.reload.clicktoreload();{

	   };
	}
	private Handler handler  = new Handler(){
		public void handleMessage(android.os.Message msg) {
			clickScreenToReload.setloadfail();

		};
	};

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

}

package com.example.clicktoreload;

import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.RelativeLayout;

public class ClickScreenToReload extends View {
	private View view;
	private Context context;
	public ClickScreenToReload(Context context, AttributeSet attrs) {
		super(context, attrs);
		this.context = context;
		// TODO Auto-generated constructor stub
		init();
	}
	private RelativeLayout loadingLayout,reloadlayout;
	Reload reload;
	private void init(){
		reload  = new Reload() {
			@Override
			public void clicktoreload() {
				// TODO Auto-generated method stub

			}
		};
		view  = LayoutInflater.from(context).inflate(R.layout.clickroreload, null);
		loadingLayout  = (RelativeLayout) view.findViewById(R.id.reloadlayout);
		reloadlayout = (RelativeLayout) view.findViewById(R.id.reloadlayout);
		setLoading();
		reloadlayout.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				reload.clicktoreload();
				setLoading();
			}
		});
	}
	public void setLoading(){
		reloadlayout.setVisibility(View.GONE);
		loadingLayout.setVisibility(View.VISIBLE);
	}
	public void setloadfail(){
		reloadlayout.setVisibility(View.VISIBLE);
		loadingLayout.setVisibility(View.GONE);
	}
	public interface Reload{
		public void clicktoreload();

	}
}

布局如下

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/FrameLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

     <RelativeLayout
         android:id="@+id/loadinglayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <LinearLayout
            android:id="@+id/linearLayout1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:orientation="horizontal">

            <ProgressBar
                android:id="@+id/progressBar1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:layout_gravity="center_vertical"
                android:layout_toRightOf="@+id/linearLayout1"
                android:text="加载中..." />

        </LinearLayout>

    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/reloadlayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:text="点击屏幕重新加载" />
    </RelativeLayout>

</FrameLayout>
时间: 2024-08-05 19:28:51

仿腾讯新闻,点击屏幕重新加载的实现,直接贴代码的相关文章

【Android UI设计与开发】7.底部菜单栏(四)PopupWindow 实现显示仿腾讯新闻菜单

前一篇文章中有用到 PopupWindow 来实现弹窗的功能.简单介绍以下吧. 官方文档是这样解释的:这就是一个弹出窗口,可以用来显示一个任意视图.出现的弹出窗口是一个浮动容器的当前活动. 1.首先来个简单的栗子,效果如下: 只有两个布局文件,一个是弹窗布局(只有一张图片),一个是主界面布局(只有一个按钮). 然后在主界面代码中实例 PopupWindow ,指定弹出的界面,在按钮点击事件中显示或隐藏弹窗就可以了,代码如下: package com.yanis.demo; import andr

WebView中实现延迟加载,图片点击时才加载。

1 String newHtml = html + 2 "<script type=\"text/javascript\">" + 3 "(function (){"+ 4 "var imageList = document.getElementsByTagName(\"img\");"+ 5 "for(var i=0; i<imageList.length; i++){&quo

EasyUI treegrid 实现点击父节点加载子节点

今天在项目中遇到问题,要实现 EasyUI   treegrid 实现点击父节点加载子节点 第一反应是去百度一下,谷歌一下,发现网上的回答不是懒加载就是在onBeforeExpand调用append方法 我决定使用第二种方法,定义treegrid的onBeforeExpand方法,在里面调用appen方法. 然而当我兴冲冲的运行的时候,出问题了, Firefox出现too much recursion异常提示 在网上看了一下这个问题的出现原因,大家都说是,非法使用了js关键字,可是我看了几遍代码

展讯平台 LCD(Mipi) 加载流程分析

stage1 阶段的详细分析参见 uboot 详细注释讲解 我们从 uboot 的 stage2 开始分析. 加载流程分析 首先是完成硬件的初始化. 函数调用流程为: u-boot64/arch/arm/board.c: board_init_r() u-boot64/common/stdio.c: stdio_init() u-boot64/common/lcd.c: drv_lcd_init() lcd_init() u-boot/drivers/video/sprdfb/sprdfb_ma

IOS第八天(1:UITableViewController团购,点击底部,xib加载更多, 代理模式)

******* HMViewController.h #import "HMViewController.h" #import "HMTg.h" #import "HMTgCell.h" #import "HMTgFooterView.h" @interface HMViewController () <HMTgFooterViewDelegate> @property (nonatomic, strong) NS

easyui combogrid 按需加载,点击下拉加载

功能优点:减少不必要的http请求,减少服务器查询压力,降低额外的浏览器渲染,提高呈现速度开发分享: combogrid 点击才请求的功能实现简要:我分析了费用系统,和现在全网的写法.并不满意.都是要么全部请求,要么部分请求.费用系统中是发起了请求,然后报404错误(伪地址的方式实现的)这种带来的缺陷是依旧发起了http请求,在页面中大量存在combogrid的话就会问题突出.因此在新的mcp2.0中我们尝试着首次加载10个,但这10条数据并不一定有意义,也就意味着还是浪费了带宽.在对比全网分析

硅谷新闻2--禁止viewpager预加载

ContentFragment.java class MyOnPageChangeListener implements ViewPager.OnPageChangeListener { ..... /** * 当某个页面被选中的时候回调这个方法 * @param position 被选中页面的位置 */ @Override public void onPageSelected(int position) { // BasePager basePager = basePagers.get(pos

腾讯新闻向左、天天快报向右,企鹅盯准内容分发

移动资讯的发展初期,从2012年一直到2013年,整个市场份额基本上被网易新闻.搜狐新闻.腾讯新闻三家瓜分.不过到了2014年之后,格局开始发生变化,腾讯新闻逐渐拉开与对手的距离,同时今日头条凭借着个性化推荐,迅速跻身移动资讯第二梯队.进入到2015年下半年之后,格局又发生变化,今日头条逐渐从第二梯队脱颖而出. 不过在腾讯推出天天快报之后,这种局势面临被打破的可能性.腾讯本身在内容积累上就拥有优势,天天快报则大幅扩张了腾讯的内容分发渠道——这将使腾讯的内容优势得到更大程度的释放. 腾讯新闻一路向

硅谷新闻6--下拉刷新/上拉加载更多

 1.添加加载更多布局 1_初始化和隐藏代码在RefreshListView构造方法中调用 private void initFooterView(Context context) { View footerView = View.inflate(context, R.layout.refresh_listview_footer, null); //隐藏代码 footerView.measure(0, 0); int footerViewHeight = footerView.getMeasur