package com.lan.nicehair.activity;
import android.app.ActivityGroup;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.TabHost;
import android.widget.TabWidget;
import butterknife.ButterKnife;
import butterknife.InjectView;
import butterknife.OnClick;
import com.lan.nicehair.R;
import com.lan.nicehair.R.id;
import com.lan.nicehair.R.layout;
@SuppressWarnings("deprecation")
public class MainActivity extends ActivityGroup {
@InjectView(R.id.tabhost) TabHost mTabHost;
@InjectView(R.id.radiogroup) RadioGroup mRadioGroup;
@InjectView(R.id.layout_comment) LinearLayout mLayoutComment;
@InjectView(R.id.post_comment_input) EditText mEditInput;
@OnClick(R.id.post_input_camera)
public void onPostCameraClicked(View v) {
}
@OnClick(R.id.post_input_send)
public void onPostSendClicked(View v) {
}
public static final String CLICK_RECEIVED_ACTION="click_action";
private ActionClickReceiver mActionClickReceiver;
private InputMethodManager mInputManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ButterKnife.inject(this);
mTabHost.setup(getLocalActivityManager());
final TabWidget tabWidget = mTabHost.getTabWidget();
tabWidget.setStripEnabled(false);// 圆角边线不启用
addTabIntent();
mTabHost.setCurrentTab(0);
mInputManager=(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
mRadioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// TODO Auto-generated method stub
switch(checkedId) {
case R.id.radio_choumeibang:
mTabHost.setCurrentTab(0);
break;
case R.id.radio_hairscan:
mTabHost.setCurrentTab(1);
break;
case R.id.radio_discover:
mTabHost.setCurrentTab(2);
break;
case R.id.radio_me:
mTabHost.setCurrentTab(3);
break;
}
}
});
registerMessageReceiver();
}
public void registerMessageReceiver() {
mActionClickReceiver = new ActionClickReceiver();
IntentFilter filter = new IntentFilter();
filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
filter.addAction(CLICK_RECEIVED_ACTION);
registerReceiver(mActionClickReceiver, filter);
}
public class ActionClickReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (CLICK_RECEIVED_ACTION.equals(intent.getAction())) {
int uid=intent.getIntExtra("uid", 0);
mLayoutComment.setVisibility(View.VISIBLE);
mInputManager.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
mEditInput.requestFocus();
}
}
}
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN ) {
if(mLayoutComment.isShown()) {
mLayoutComment.setVisibility(View.GONE);
return true;
}
}
return super.dispatchKeyEvent(event);
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
if(mActionClickReceiver!=null)
unregisterReceiver(mActionClickReceiver);
}
private TabHost.TabSpec buildTabSpec(String tag,String m,
final Intent content) {
return this.mTabHost
.newTabSpec(tag).setIndicator(m)
.setContent(content);
}
private void addTabIntent() {
this.mTabHost.addTab(buildTabSpec("tab1","0",new Intent(this,ZoneActivity.class)));
this.mTabHost.addTab(buildTabSpec("tab2","1",new Intent(this,FindHairActivity.class)));
this.mTabHost.addTab(buildTabSpec("tab3","2",new Intent(this,DisCoverActivity.class)));
this.mTabHost.addTab(buildTabSpec("tab4","3",new Intent(this,MeActivity.class)));
}
}