健康栏目的实现
来源:互联网 发布:网络教育研究 的资料 编辑:程序博客网 时间:2024/04/28 10:24
预期效果
实际效果:程序出现闪退或停止运行,正在尝试排错。。。
Error位置
HealthActivity.java
package com.walkersimulate;import java.util.ArrayList;import java.util.List;import android.app.ActionBar.LayoutParams;import android.app.Activity;import android.os.Bundle;import android.support.v4.view.ViewPager;import android.support.v4.view.ViewPager.OnPageChangeListener;import android.util.DisplayMetrics;import android.view.Display;import android.view.View;import android.view.View.OnClickListener;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.TextView;public class HealthActivity extends Activity{private int currIndex;// 当前页卡编号 private TextView tvCursor;private TextView tvHealthNews; private TextView tvIllnessDefense; private ViewPager vpHealth;private ImageView ivHealthBack;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_health); initViews();initCursor(); initViewPager(); setListeners(); }private void initViews(){ ivHealthBack=(ImageView)findViewById(R.id.iv_HealthBack); tvCursor=(TextView)findViewById(R.id.cursor); tvHealthNews=(TextView)findViewById(R.id.tv_healthnews);//tvIllnessDefense=(TextView)findViewById(R.id.tv_IllDefense); vpHealth= (ViewPager)findViewById(R.id.viewpager);}private void initCursor(){Display display= getWindow().getWindowManager().getDefaultDisplay(); DisplayMetrics metrics= new DisplayMetrics(); display.getMetrics(metrics); // 取得手机屏幕宽度的一半int tabLineLength=metrics.widthPixels/2;// 设置游标的宽度为屏幕宽度的一半 LayoutParams lp=(LayoutParams) tvCursor.getLayoutParams(); lp.width=tabLineLength; tvCursor.setLayoutParams(lp);}private void initViewPager(){ vpHealth= (ViewPager)findViewById(R.id.viewpager); List<View>views =new ArrayList<View>(); views.add(new HealthWebView(this) .getView("http://cms.hxky.cn/wap/jkxz/")); views.add(new HealthWebView(this) .getView("http://cms.hxky.cn/wap/jbfz/")); vpHealth.setAdapter(new HealthViewPagerAdapter(views)); // 给 ViewPager 设置适配器 vpHealth.setCurrentItem(0);// 设置当前显示标签页为第一页 }private void setListeners(){ // 返回按钮 ivHealthBack.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View arg0){ finish(); }});// 点击健康须知tvHealthNews.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View view){ vpHealth.setCurrentItem(0); }}); // 点击疾病防治 tvIllnessDefense.setOnClickListener(new OnClickListener(){@Override public void onClick(View view){ vpHealth.setCurrentItem(1); }});vpHealth.setOnPageChangeListener(new OnPageChangeListener(){@Override public void onPageSelected(int position){ currIndex=position; }@Override public void onPageScrolled(int position,float percent,int ag2){ LinearLayout.LayoutParams ll = (android.widget.LinearLayout.LayoutParams)tvCursor .getLayoutParams();if(currIndex== position){ ll.leftMargin=(int)(currIndex*tvCursor.getWidth()+percent *tvCursor.getWidth()); }else if(currIndex>position){ ll.leftMargin=(int)(currIndex*tvCursor.getWidth()-(1-percent) *tvCursor.getWidth()); } tvCursor.setLayoutParams(ll);}@Override public void onPageScrollStateChanged(int position){}});}}
HealthViewPagerAdapter.java
package com.walkersimulate;import java.util.List;import android.support.v4.view.PagerAdapter;import android.view.View;import android.view.ViewGroup;public class HealthViewPagerAdapter extends PagerAdapter{private List<View>viewList;public HealthViewPagerAdapter(List<View>viewList){this.viewList=viewList;}@Overridepublic int getCount(){return viewList.size();} @Override public boolean isViewFromObject(View view,Object object){ return view==object;} @Override public Object instantiateItem(ViewGroup container,int position){container.addView(viewList.get(position)); return viewList.get(position);} @Overridepublic void destroyItem(ViewGroup container,int position,Object object){ container.removeView(viewList.get(position)); }}
HealthWebView.java
package com.walkersimulate;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.webkit.WebView;import android.webkit.WebViewClient;public class HealthWebView{ private Context context;public HealthWebView(Context context){ this.context= context;}public View getView(String url){View view =LayoutInflater.from(context).inflate(R.layout.pagerofhealth,null); WebView webView=(WebView)view.findViewById(R.id.wvHealth);webView.loadUrl(url);webView.getSettings().setJavaScriptEnabled(true); //禁止系统浏览器打开页面 webView.setWebViewClient(new WebViewClient(){@Override public boolean shouldOverrideUrlLoading(WebView view,String url){ view.loadUrl(url);return true; } }); return view;}}
activity_health.xml
<?xml version="1.0" encoding="utf-8"?> <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="vertical" tools:context=".HealthActivity"> <include layout="@layout/health_layout_titlebar"/> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <!-- 健康新知 --> <TextView android:id="@+id/tv_healthnews" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_weight="1" android:gravity="center" android:padding="6dp" android:text="@string/healthnews" android:textSize="18sp"/> <!-- 疾病防治 --> <TextView android:id="@+id/tv_healthill" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_weight="1" android:gravity="center" android:padding="6dp" android:text="@string/illdefense" android:textSize="18sp"/> </LinearLayout> <TextView android:id="@+id/cursor" android:layout_width="125dp" android:layout_height="5dp" android:layout_marginLeft="20dp" android:background="#990033"/> <android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="match_parent" android:layout_height="match_parent"/> </LinearLayout>
health_layout_titlebar.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/titlebar_bg"> <ImageView android:id="@+id/iv_HealthBack" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:gravity="center" android:onClick="" android:paddingLeft="6dp" android:src="@drawable/icons_health_back"/> <TextView android:id="@+id/title" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_weight="1" android:gravity="center" android:text="健康" android:textColor="#ffffff" android:textSize="15sp"/></LinearLayout>
pagerofhealth.xml
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"><WebView android:id="@+id/wvHealth" android:layout_width="match_parent" android:layout_height="match_parent" /></RelativeLayout>
0 0
- 健康栏目的实现
- 健康栏目的实现
- 健康栏目的实现
- 健康栏目的实现
- 健康栏目的实现
- 健康栏目的实现
- Walker之健康栏目的实现
- 小案例-健康栏目的实现分析
- 案例2:健康栏目的实现
- 健康栏目实现
- 案例2_健康栏目的实现分析
- 健康栏目
- 健康栏目
- 健康栏目
- 健康栏目
- 健康栏目
- 健康栏目
- 实验十三 健康栏目 WebView
- knn 第一个学习的深度学习算法
- Fresco获取缓存中的Bitmap,并设置为背景
- C#基础-异常处理
- Visual Tracker Benchmark
- Unity 3d GUI.Label 介绍
- 健康栏目的实现
- Spring注解详解
- 网络图片查看器
- volatile语义
- 树莓派通过GPIO口获取温度以及控制LED灯
- 第十四周项目1(2)分块查找
- Android dp和px之间转换
- Android中的三级缓存
- Java获取任意年份的二月的天数小例子