編輯:關於Android編程

package com.example.jreduch05;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import com.astuetz.PagerSlidingTabStrip;
import com.example.jreduch05.adapter.MyVpFragmentAdapter;
import com.example.jreduch05.fragment.VpFragmentLv;
import java.util.ArrayList;
import java.util.List;
public class VpFragmentLvActivity extends AppCompatActivity {
private ViewPager vp;
private PagerSlidingTabStrip pst;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_vp_fragment_lv);
getSupportActionBar().hide();
vp=(ViewPager)findViewById(R.id.vp);
pst= (PagerSlidingTabStrip) findViewById(R.id.pst);
List list=new ArrayList<>();
List titles=new ArrayList<>();
titles.add("推薦");
titles.add("熱點");
titles.add("煙台");
titles.add("視頻");
titles.add("訂閱");
titles.add("體育");
titles.add("娛樂");
titles.add("奧運");
titles.add("財經");
titles.add("國際");
for (int i=1;i<=10;i++){
Fragment fragment=new VpFragmentLv();
Bundle bundle=new Bundle();
bundle.putInt("arg",i);
fragment.setArguments(bundle);
list.add(fragment);
}
MyVpFragmentAdapter ma=new MyVpFragmentAdapter(
getSupportFragmentManager(),list,titles);
vp.setAdapter(ma);
pst.setIndicatorColor(getResources().getColor(R.color.colorPrimary));
pst.setIndicatorHeight(5);
pst.setAllCaps(true);
pst.setShouldExpand(true);//平分
pst.setTextColor(getResources().getColor(R.color.colorAccent));
pst.setViewPager(vp);
}
}
package com.example.jreduch05.fragment;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ListView;
import com.example.jreduch05.IntentActivity;
import com.example.jreduch05.R;
import com.example.jreduch05.adapter.MyListAdapter;
import com.example.jreduch05.entity.News;
import java.util.ArrayList;
import java.util.List;
/**
* A simple {@link Fragment} subclass.
*/
public class VpFragmentLv extends Fragment {
public VpFragmentLv() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_vp_fragment_lv, container, false);
}
@Override
public void onActivityCreated (@Nullable Bundle savedInstanceState){
super.onActivityCreated(savedInstanceState);
// TextView tv=(TextView)getView().findViewById(R.id.tv);
ListView lv = (ListView) getView().findViewById(R.id.lv);
final List list = new ArrayList<>();
MyListAdapter ma = new MyListAdapter(list, getActivity());
lv.setAdapter(ma);
final Bundle bundle = getArguments();
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView adapterView, View view, int i, long l) {
News news = list.get(i);
Intent intent = new Intent(getActivity(), IntentActivity.class);
intent.putExtra("obj", news);
Bundle b1 = new Bundle();
b1.putString("arg1", "今天七月七");
intent.putExtra("bundle", b1);
startActivity(intent);
}
});
if (bundle != null) {
int arg = bundle.getInt("arg");
// tv.setText("我是Fagment"+arg);
switch (arg) {
case 1:
for (int i = 0; i < 20; i++) {
list.add(new News("體育新聞" + i, "今天", "0001", R.mipmap.zyfzyf, "新浪網"));
ma.notifyDataSetChanged();
}
break;
case 2:
for (int i = 0; i < 20; i++) {
list.add(new News("煙台新聞" + i, "今天", "0002", R.mipmap.zyf, "新浪網"));
ma.notifyDataSetChanged();
}
break;
case 3:
for (int i = 0; i < 20; i++) {
list.add(new News("奧運新聞" + i, "今天", "0002", R.mipmap.zz, "新浪網"));
ma.notifyDataSetChanged();
}
break;
}
}
}
}
<framelayout android:layout_height="match_parent" android:layout_width="match_parent" tools:context="com.example.jreduch05.fragment.VpFragmentLv" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools">
</framelayout>
package com.example.jreduch05.entity;
import android.os.Parcel;
import android.os.Parcelable;
import java.io.Serializable;
/**
* Created by 沖天之峰 on 2016/8/9.
*/
//implements Serializable 接口
//Parcelable Android 獨有的
public class News implements Parcelable{
private String title;
private String pubDate;
// private String newId;
private int img;
private String from;
public News(String title, String pubDate, String newId, int img, String from) {
this.title = title;
this.pubDate = pubDate;
// this.newId = newId;
this.img = img;
this.from = from;
}
protected News(Parcel in) {
title = in.readString();
pubDate = in.readString();
img = in.readInt();
from = in.readString();
}
public static final Creator CREATOR = new Creator() {
@Override
public News createFromParcel(Parcel in) {
return new News(in);
}
@Override
public News[] newArray(int size) {
return new News[size];
}
};
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getFrom() {
return from;
}
public void setFrom(String from) {
this.from = from;
}
public int getImg() {
return img;
}
public void setImg(int img) {
this.img = img;
}
// public String getNewId() {
// return newId;
// }
//
// public void setNewId(String newId) {
// this.newId = newId;
// }
public String getPubDate() {
return pubDate;
}
public void setPubDate(String pubDate) {
this.pubDate = pubDate;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel parcel, int i) {
parcel.writeString(title);
parcel.writeString(pubDate);
parcel.writeInt(img);
parcel.writeString(from);
}
}
package com.example.jreduch05.adapter;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import java.util.List;
/**
* Created by 沖天之峰 on 2016/8/9.
*/
public class MyVpFragmentAdapter extends FragmentPagerAdapter {
private List list;
private List titles;
public MyVpFragmentAdapter(FragmentManager fm, List list, List titles) {
super(fm);
this.list= list;
this.titles= titles;
}
@Override
public Fragment getItem(int position) {
return list.get(position);
}
@Override
public int getCount() {
return list.size();
}
@Override
public CharSequence getPageTitle(int position) {
return titles.get(position);
}
}


package com.example.jreduch05;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTabHost;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.TabHost;
import android.widget.TextView;
import com.example.jreduch05.adapter.MyTabHostAdapter;
import com.example.jreduch05.fragment.TabHostFragment;
import java.util.ArrayList;
import java.util.List;
public class FragmentTabHostActivity extends AppCompatActivity {
private ViewPager vp;
private FragmentTabHost ft;
private String[] str={"首頁","消息","更多","好友","搜索"};
private int[] imgRes={R.drawable.home,
R.drawable.meassage,R.drawable.more,R.drawable.selfinfo,R.drawable.square};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fragment_tab_host);
vp=(ViewPager)findViewById(R.id.vp);
ft=(FragmentTabHost)findViewById(R.id.ft);
init();
}
private void init() {
List<fragment> list=new ArrayList<>();
//
ft.setup(this,getSupportFragmentManager());
for(int i=0;i<str.length;i++){ fragment="" bundle="" tabhost.tabspec="" tabspec="ft.newTabSpec(str[i]).setIndicator(getView(i));" mytabhostadapter="" mha="new" new="" override="" public="" void="" string="" int="" float="" view="" v="getLayoutInflater().inflate(R.layout.tab_layout,null);" imageview="" iv="(ImageView)v.findViewById(R.id.iv);" textview="" tv="(TextView)v.findViewById(R.id.tv);" return="" pre="">
package com.example.jreduch05.fragment;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.example.jreduch05.R;
/**
* A simple {@link Fragment} subclass.
*/
public class TabHostFragment extends Fragment {
public TabHostFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_tab_host, container, false);
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
TextView tv=(TextView)getView().findViewById(R.id.tv);
Bundle bundle=getArguments();
if (bundle!=null){
int arg=bundle.getInt("arg");
tv.setText("我是Fragment"+(arg+1));
}
}
}
<framelayout 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" tools:context="com.example.jreduch05.fragment.TabHostFragment">
</framelayout>
package com.example.jreduch05.adapter;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import java.util.List;
/**
* Created by 沖天之峰 on 2016/8/9.
*/
public class MyTabHostAdapter extends FragmentPagerAdapter {
private List list;
public MyTabHostAdapter(FragmentManager fm, List list) {
super(fm);
this.list= list;
}
@Override
public Fragment getItem(int position) {
return list.get(position);
}
@Override
public int getCount() {
return list.size();
}
}


android測試:UI automator
一、UI automator的簡介Uiautomator,顧名思義,是用於ui自動化測試的,主要是仿真單擊,滑動,輸入文本等操作,而不用人為地進行操作,特對對於兼容測試來
Android 實現newbility的下拉刷新和加載更多的ListView
在上一篇博文的最後,我說要寫一個下拉刷新的ListView和RecyclerView,並且可以直接使用QQheader本篇博文准備講如何實現下拉刷新和上拉加載,寫的比較
Android自定義view進階-- 神奇的貝塞爾曲線
今天給大家介紹一個非常神奇的曲線,貝塞爾曲線。相信大家之前都有耳聞。很久之前就久聞該線大名,但是一直不是很了解,在經過一番谷歌之後,有了初步的概念:三點確定一條曲線:起點
Bluestacks安卓模擬器簡單設置使用圖解教程
Bluestacks是一個可以讓Android應用程序運行在電腦(現在包括windows系統,mac版)的一種模擬器,就是我們在電腦上也可以運行Androi