package com.jacky.compatible.launcher.features;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageButton;
import com.jacky.launcher.R;
import com.jacky.compatible.launcher.main.MainActivity;
import com.jacky.compatible.launcher.views.FocusView;
import com.jacky.uikit.fragment.BaseFragment;
public class LocalServiceFragment extends BaseFragment implements View.OnClickListener {
private MainActivity mParent;
private ImageButton tour;
private ImageButton tv;
private ImageButton ad1;
private ImageButton cate;
private ImageButton weather;
private ImageButton ad2;
private ImageButton news;
private ImageButton appStore;
private ImageButton video;
private FocusView mFocusView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mParent = (MainActivity) getActivity();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = LayoutInflater.from(getActivity()).inflate(R.layout.fragment_local_service, null);
initView(view);
return view;
}
private void initView(View view) {
tv = (ImageButton) view.findViewById(R.id.local_tv);
tour = (ImageButton) view.findViewById(R.id.local_tour);
ad1 = (ImageButton) view.findViewById(R.id.local_ad1);
ad2 = (ImageButton) view.findViewById(R.id.local_ad2);
cate = (ImageButton) view.findViewById(R.id.local_cate);
weather = (ImageButton) view.findViewById(R.id.local_weather);
news = (ImageButton) view.findViewById(R.id.local_news);
appStore = (ImageButton) view.findViewById(R.id.local_app_store);
video = (ImageButton) view.findViewById(R.id.local_video);
mFocusView = (FocusView) view.findViewById(R.id.focus_view);
tv.setOnFocusChangeListener(mOnFocusChangeListener);
tour.setOnFocusChangeListener(mOnFocusChangeListener);
ad1.setOnFocusChangeListener(mOnFocusChangeListener);
ad2.setOnFocusChangeListener(mOnFocusChangeListener);
cate.setOnFocusChangeListener(mOnFocusChangeListener);
weather.setOnFocusChangeListener(mOnFocusChangeListener);
news.setOnFocusChangeListener(mOnFocusChangeListener);
appStore.setOnFocusChangeListener(mOnFocusChangeListener);
video.setOnFocusChangeListener(mOnFocusChangeListener);
setFocusOrder();
}
private void setFocusOrder() {
tv.setNextFocusDownId(R.id.local_tour);
tv.setNextFocusRightId(R.id.local_ad1);
tour.setNextFocusRightId(R.id.local_ad1);
ad1.setNextFocusRightId(R.id.local_cate);
cate.setNextFocusRightId(R.id.local_weather);
cate.setNextFocusDownId(R.id.local_ad2);
weather.setNextFocusDownId(R.id.local_news);
ad2.setNextFocusRightId(R.id.local_news);
ad2.setNextFocusDownId(R.id.local_app_store);
news.setNextFocusDownId(R.id.local_video);
appStore.setNextFocusRightId(R.id.local_video);
}
@Override
public void requestInitFocus() {
tv.requestFocus();
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_DPAD_UP:
if (mCurrentView == tv || mCurrentView == ad1
|| mCurrentView == cate || mCurrentView == weather) {
mParent.requestTabFocus();
return true;
}
return false;
}
return false;
}
private View mCurrentView;
public View.OnFocusChangeListener mOnFocusChangeListener = new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
mCurrentView = v;
enlargeAnim(v);
mFocusView.setVisibility(View.VISIBLE);
mFocusView.setAnchorView(v);
} else {
reduceAnim(v);
}
}
};
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.local_tv:
break;
case R.id.local_ad1:
break;
case R.id.local_ad2:
break;
case R.id.local_weather:
break;
case R.id.local_app_store:
break;
case R.id.local_cate:
break;
case R.id.local_news:
break;
case R.id.local_tour:
break;
case R.id.local_video:
break;
default:
break;
}
}
}