編輯:關於Android編程
使用TabHost 可以在一個屏幕間進行不同版面的切換,而系統自帶的tabhost界面較為樸素,我們應該如何進行自定義修改優化呢
MainActivity的源代碼
package com.dream.ledong; import android.app.TabActivity; import android.content.Intent; import android.graphics.Color; import android.os.Bundle; import android.view.Gravity; import android.widget.RelativeLayout; import android.widget.TabHost; import android.widget.TabHost.OnTabChangeListener; import android.widget.TabWidget; import android.widget.TextView; import com.example.client.R; @SuppressWarnings("deprecation") public class itemList extends TabActivity { @Override public void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.itemlist); final TabHost tabHost = getTabHost(); Intent remoteIntent = new Intent(itemList.this, item1.class); TabHost.TabSpec remoteTabSpec = tabHost.newTabSpec("remote"); remoteTabSpec.setIndicator("運動推薦"); remoteTabSpec.setContent(remoteIntent); tabHost.addTab(remoteTabSpec); Intent localIntent = new Intent(itemList.this, item2.class); TabHost.TabSpec localTabSpec = tabHost.newTabSpec("local"); localTabSpec.setIndicator("球友人氣"); localTabSpec.setContent(localIntent); tabHost.addTab(localTabSpec); Intent localIntent2 = new Intent(itemList.this, item2.class); TabHost.TabSpec localTabSpec2 = tabHost.newTabSpec("a"); localTabSpec2.setIndicator("競技氛圍"); localTabSpec2.setContent(localIntent2); tabHost.addTab(localTabSpec2); updateTabStyle(tabHost); // 當某個Tab被選中時,則更新背景樣式 tabHost.setOnTabChangedListener(new OnTabChangeListener() { @Override public void onTabChanged(String tabId) { updateTabStyle(tabHost); } }); } private void updateTabStyle(final TabHost mTabHost) { TabWidget tabWidget = mTabHost.getTabWidget(); tabWidget.setRightStripDrawable(R.drawable.list_item_divide_operate); tabWidget.setLeftStripDrawable(R.drawable.list_item_divide_operate); for (int i = 0; i < tabWidget.getChildCount(); i++) { RelativeLayout tabView = (RelativeLayout) mTabHost.getTabWidget() .getChildAt(i); TextView text = (TextView) tabWidget.getChildAt(i).findViewById( android.R.id.title); text.setTextSize(15); RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) text .getLayoutParams(); params.width = RelativeLayout.LayoutParams.MATCH_PARENT; params.height = RelativeLayout.LayoutParams.MATCH_PARENT; text.setLayoutParams(params); text.setGravity(Gravity.CENTER); if (mTabHost.getCurrentTab() == i) { // 選中 tabView.setBackgroundColor(Color.parseColor("#8DB6CD")); text.setTextColor(this.getResources().getColorStateList( android.R.color.black)); } else { // 未選中 tabView.setBackgroundColor(Color.parseColor("#ffffff")); text.setTextColor(this.getResources().getColorStateList( android.R.color.darker_gray)); } } } }
側邊欄是Android應用中很常見的一個界面效果(抽屜效果)。而利用DrawerLayout實現右側欄是相對簡單的。而且這個控件自帶滑動效果,十分方便。 DrawerLa
第三方支付第三方支付指的是第三方平台與各銀行簽約,在買方與賣方之間實現中介擔保,從而增強了支付交易的安全性。國內常用的支付平台主要是支付寶和微信支付,其中支付寶的市場份額
前言開發過程中,為了數據交互安全,決定對數據進行des加密,然後進行前後交互;但是,如果密鑰放置在android代碼裡面,就算是混淆,反編譯也很容易讓人拿到密鑰,數據加密
本文實例講述了Android AnalogClock簡單使用方法。分享給大家供大家參考,具體如下:AnalogClock組件的使用很簡單,先來看看效果圖:AnalogCl