您的位置:首页 > 其它

健康栏目

2016-12-21 11:19 183 查看
一 效果

由于有错误 无法运行

二 核心代码



[html] view
plain copy

1.HealthActivity.java

package com.example.walkersimulate;

import java.util.ArrayList;

import java.util.List;

import android.os.Bundle;

import android.annotation.SuppressLint;

import android.app.ActionBar.LayoutParams;

import android.app.Activity;

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;

@SuppressLint("NewApi")

public class HealthActivity extends Activity

{

private int currIndex;// 当前页卡编号

private TextView tvCursor;

private TextView tvHealthNews;

private TextView tvIllnessDefense;

private ViewPager vpHealth;

private ImageView ivHealthBack;

@Override

protected void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_health);

initViews();

initCursor();

initViewPager();

setListeners();

}

private void initViews()

{

ivHealthBack = (ImageView) findViewById(R.id.icons_health_back);

tvCursor = (TextView) findViewById(R.id.cursor);

tvHealthNews = (TextView) findViewById(R.id.tv_healthnews);

tvIllnessDefense = (TextView) findViewById(R.id.tv_healthill);

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()

{

public void onClick(View arg0)

{

finish();

}

});

// 点击健康须知

tvHealthNews.setOnClickListener(new OnClickListener()

{

public void onClick(View view)

{

vpHealth.setCurrentItem(0);

}

});

// 点击疾病防治

tvIllnessDefense.setOnClickListener(new OnClickListener()

{

public void onClick(View view)

{

vpHealth.setCurrentItem(1);

}

});

vpHealth.setOnPageChangeListener(new OnPageChangeListener()

{

public void onPageSelected(int position)

{

currIndex = position;

}

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);

}

public void onPageScrollStateChanged(int position)

{

}

});

}

}

2.HealthViewPagerAdapter.java

[html] view
plain copy

package com.example.walkersimulate;

import java.util.List;

import android.view.View;

import android.view.ViewGroup;

public class HealthViewPagerAdapter

{

<span style="white-space:pre"> </span>private List<View> viewList;

<span style="white-space:pre"> </span>public HealthViewPagerAdapter(List<View> viewList)

<span style="white-space:pre"> </span>{

<span style="white-space:pre"> </span>this.viewList = viewList;

<span style="white-space:pre"> </span>}

<span style="white-space:pre"> </span>public int getCount()

<span style="white-space:pre"> </span>{

<span style="white-space:pre"> </span>return viewList.size();

<span style="white-space:pre"> </span>}

<span style="white-space:pre"> </span>public boolean isViewFromObject(View view, Object object)

<span style="white-space:pre"> </span>{

<span style="white-space:pre"> </span>return view == object;

<span style="white-space:pre"> </span>}

<span style="white-space:pre"> </span>public Object instantiateItem(ViewGroup container, int position)

<span style="white-space:pre"> </span>{

<span style="white-space:pre"> </span>container.addView(viewList.get(position));

<span style="white-space:pre"> </span>return viewList.get(position);

<span style="white-space:pre"> </span>}

<span style="white-space:pre"> </span>public void destroyItem(ViewGroup container, int position, Object object)

<span style="white-space:pre"> </span>{

<span style="white-space:pre"> </span>container.removeView(viewList.get(position));

<span style="white-space:pre"> </span>}

}

[html] view
plain copy

3.HealthWebView.java

[html] view
plain copy

package com.example.walkersimulate;

import android.annotation.SuppressLint;

import android.content.Context;

import android.view.LayoutInflater;

import android.view.View;

import android.webkit.WebView;

import android.webkit.WebViewClient;

public class HealthWebView{

<span style="white-space:pre"> </span>private Context context;

<span style="white-space:pre"> </span>public HealthWebView(Context context) {

<span style="white-space:pre"> </span>this.context = context;

<span style="white-space:pre"> </span>}

<span style="white-space:pre"> </span>@SuppressLint("SetJavaScriptEnabled")

<span style="white-space:pre"> </span>public View getView(String url) {

<span style="white-space:pre"> </span>View view = LayoutInflater.from(context).inflate(

<span style="white-space:pre"> </span>R.layout.pagerofhealth, null);

<span style="white-space:pre"> </span>WebView webView = (WebView) view.findViewById(R.id.wvHealth);

<span style="white-space:pre"> </span>webView.loadUrl(url);

<span style="white-space:pre"> </span>// 设置支持 JavaScript 脚本

<span style="white-space:pre"> </span>webView.getSettings().setJavaScriptEnabled(true);

<span style="white-space:pre"> </span>/**

<span style="white-space:pre"> </span>* 禁止系统浏览器打开页面

<span style="white-space:pre"> </span>*/

<span style="white-space:pre"> </span>webView.setWebViewClient(new WebViewClient() {

<span style="white-space:pre"> </span>public boolean shouldOverrideUrlLoading(WebView view, String url) {

<span style="white-space:pre"> </span>view.loadUrl(url);

<span style="white-space:pre"> </span>return true;

<span style="white-space:pre"> </span>}

<span style="white-space:pre"> </span>});

<span style="white-space:pre"> </span>return view;

<span style="white-space:pre"> </span>}

}

[html] view
plain copy

4.activity_health.xml

[html] view
plain copy

<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>

[html] view
plain copy

5.health_layout_titlebar.xml

[html] view
plain copy

<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/icons_health_back"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:gravity="center"

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>

[html] view
plain copy

三 总结

通过这次练习,学会了一些UI布局的应用,让UI页面更加的多彩 ,虽然没能成功达到实验预想的效果,但也学到了一些方法和流程。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: