編輯:關於Android編程
效果圖:
以上效果類似於顯示點贊用戶的界面,我們可以通過點擊不同的昵稱進入每個人的個人主頁。
關於公共控件,請點擊文章下方的git地址。
第一步:
我們為每個點贊的人建一個類用來代表個人的信息:
Person:
public class Person { public String name; public int age; }
第二步:
自定義TextView控件
創建PersonListView並繼承BaseOnTextView這個抽象類:
public class PersonListView extends BaseOnTextView{ public PersonListView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public PersonListView(Context context, AttributeSet attrs) { super(context, attrs); } public PersonListView(Context context) { super(context); } public void setVoteName(ArrayList list, int index) { this.getInfo(list); setVoteList(list, index); } /** * 設置點贊姓名 */ @Override public String getVoteName(Person data) { return data.name; } /** * 獲取點贊人的信息 */ @Override public List getInfo(List list) { return list; } }
第三步:
將自定義的TextView放入xml中。
person_item.xml:
創建我們的Activity。
MainActivity:
public class MainActivity extends Activity { private ListView lv_lsit; private ArrayListpersonList=new ArrayList (); private PersonListAdapter mPersonListAdapter=new PersonListAdapter(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } private void initView(){ String[] strs = {火影忍者, 卡卡西, 漩渦鳴人, 宇智波鼬 ,宇智波佐助,小櫻,李洛克,大蛇丸,取個名字好難啊,請不要再來傷害我}; for(int i=0;i
最後在TextViewSpan類中的onClick方法中添加事件。
public class TextViewSpanextends ClickableSpan { private String clickString; private Context mContext; private int selectClick; private T votePerson; public TextViewSpan(String clickString, Context context, int selectClick) { this.clickString = clickString; this.mContext = context; this.selectClick = selectClick; } /** * 設置點贊人的信息 * * @param t */ public void setInfo(T t) { votePerson = t; } @Override public void updateDrawState(TextPaint ds) { ds.setColor(mContext.getResources().getColor(R.color.main_link)); ds.setUnderlineText(false); } @Override public void onClick(View widget) { switch (selectClick) { case 0:// 打開個人主界面 Person person = (Person) votePerson; Toast.makeText(mContext, person.name, Toast.LENGTH_SHORT).show(); break; case 1: break; default: break; } } }
推薦閱讀:Android如何通過手機獲取驗證碼來完成注冊功能先給大家展示下界面效果圖,感覺滿意,請參考實現代碼。Main.xml源碼<?xml versio
本文參考Android應用程序組件Content Provider在應用程序之間共享數據的原理分析http://blog.csdn.net/luoshengyang/ar
當應用運行起來後就會開啟一條線程,線程中會運行一個任務棧,當Activity實例創建後就會放入任務棧中。Activity啟動模式的設置在AndroidManifest.x
先上圖看一下鬧鐘喚期頁面的效果實現的功能:1:轉動的圖片根據天氣情況更換2:轉動時間可以設置,轉動結束,鬧鈴聲音就結束3:光圈顏色漸變效果直接上代碼啦:package c