package com.threeH.MyExhibition.ui; import android.app.TabActivity; import android.content.Intent; import android.graphics.Typeface; import android.os.Bundle; import android.view.KeyEvent; import android.view.View; import android.view.Window; import android.widget.*; import com.threeH.MyExhibition.R; import com.threeH.MyExhibition.entities.Exhibition; import com.threeH.MyExhibition.listener.TelephoneClickListener; import com.threeH.MyExhibition.tools.MSYH; import com.threeH.MyExhibition.tools.MobileConfig; import com.threeH.MyExhibition.tools.PixelDpHelper; import com.threeH.MyExhibition.tools.Tool; /** * Created with IntelliJ IDEA. * User: apple * Date: 13-6-19 * Time: 上午10:38 * To change this template use File | Settings | File Templates. */ public class ExhibitionActivity extends TabActivity implements ActivityInterface{ private static final String NEWS = "news"; private static final String SCHEDULE = "schedule"; private static final String BRIEF = "brief"; private static final String MESSAGE = "message"; private static final String QRCODE = "qrcode"; private TabHost mTabhost; private RadioGroup mRadiogroup; private ImageView mImgviewNewMessage,mImgviewReturn; private Exhibition mExhibiton; private Typeface mTypeface; private ImageView mImgviewTelephone; private TextView mTxtTitle; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.exhibition_tab_page); initdata(); findView(); addAction(); } @Override public void findView() { mRadiogroup = (RadioGroup) this.findViewById(R.id.rg_tabs_btns); mImgviewNewMessage = (ImageView) this.findViewById(R.id.imageview_newmessage); mImgviewTelephone = (ImageView) this.findViewById(R.id.exhibition_titlebar_btn_telephone); mTxtTitle = (TextView) this.findViewById(R.id.exhibition_titlebar_txt_title); mImgviewReturn = (ImageView) this.findViewById(R.id.exhibition_titlebar_return); } @Override public void initdata() { mTabhost = this.getTabHost(); mTypeface = MSYH.getInstance(this).getNormal(); mExhibiton = (Exhibition) getIntent().getExtras().get("exhibition"); initTabhost(); } @Override public void addAction() { mTabhost.setCurrentTabByTag(BRIEF); mRadiogroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { case R.id.rb_news: changeTab(NEWS,R.string.news); break; case R.id.rb_show: changeTab(BRIEF,R.string.exhibition_brief); break; case R.id.rb_store: changeTab(SCHEDULE,R.string.schedule); break; case R.id.rb_member: changeTab(MESSAGE,R.string.message); break; case R.id.rb_more: changeTab(QRCODE,R.string.qrcode); break; default: break; } } }); if(mExhibiton.getCount() > 0){ mImgviewNewMessage.setVisibility(View.VISIBLE); setPointPosition(mImgviewNewMessage,4); } mTxtTitle.setText(R.string.exhibition_brief); mTxtTitle.setTypeface(mTypeface); mImgviewTelephone.setOnClickListener( new TelephoneClickListener(this,Tool.getTelephone(getApplicationContext()))); mImgviewReturn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { finish(); } }); } /** * 初始化tabhost中的tab */ private void initTabhost(){ mTabhost.addTab(mTabhost.newTabSpec(BRIEF).setIndicator(BRIEF) .setContent(new Intent (this, ExhibitionBriefActivity.class) .putExtra("url", Tool.ASSET_SERVER + mExhibiton.getExKey() + "/brief.html") .putExtra("exhibition", mExhibiton))); mTabhost.addTab(mTabhost.newTabSpec(SCHEDULE).setIndicator(SCHEDULE) .setContent(new Intent(this, ShowHtmlActivity.class) .putExtra("url",Tool.ASSET_SERVER + mExhibiton.getExKey() + "/schedule.html") .putExtra("exhibition", mExhibiton) .putExtra("isHiddenTitleBar",true))); mTabhost.addTab(mTabhost.newTabSpec(NEWS).setIndicator(NEWS) .setContent(new Intent(this, NewsPageActivity.class) .putExtra("exhibition",mExhibiton))); mTabhost.addTab(mTabhost.newTabSpec(MESSAGE).setIndicator(MESSAGE) .setContent(new Intent(this, MessageActivity.class) .putExtra("exhibition",mExhibiton))); mTabhost.addTab(mTabhost.newTabSpec(QRCODE).setIndicator(QRCODE) .setContent(new Intent(this, QrCodeActivity.class) .putExtra("exhibition",mExhibiton))); } /** * tab切换时需要做的动作 * 设置当前的tab * 设置标题 */ private void changeTab(String tab, int title){ mTabhost.setCurrentTabByTag(tab); mTxtTitle.setText(title); } /** 导航栏显示红点的位置设置.*/ public void setPointPosition(ImageView imageView, int mIndex) { int mWidth = MobileConfig.getMobileConfig(getApplicationContext()).getWidth(); RelativeLayout.LayoutParams mParam = (RelativeLayout.LayoutParams) imageView.getLayoutParams(); mParam.setMargins( mWidth / 5 * mIndex - PixelDpHelper.dip2px(getApplicationContext(),25), PixelDpHelper.dip2px(getApplicationContext(), 10), 0, 0); imageView.setLayoutParams(mParam); } }