@SuppressLint("NewApi") private void scroll(final float height) { if (mType == TYPE_INDICATOR || mType == TYPE_INDICATOR_WITH_HANDLE) { float move = height - (mScrollIndicator.getHeight() / 2); if (move < 0) move = 0; else if (move > getHeight() - mScrollIndicator.getHeight()) move = getHeight() - mScrollIndicator.getHeight(); if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) mScrollIndicator.startAnimation(moveCompat(move)); else mScrollIndicator.setTranslationY(move); } if (mType == TYPE_INDICATOR_WITH_HANDLE || mType == TYPE_POPUP_WITH_HANDLE) { mHandlebar.setSelected(true); moveHandlebar(height - (mHandlebar.getHeight() / 2)); } int postition = (int) ((height / getHeight()) * mItemCount); if (mList instanceof ExpandableListView) { final int grouppos = ExpandableListView.getPackedPositionGroup( ((ExpandableListView) mList).getExpandableListPosition(postition)); if (grouppos != -1) mGroupPosition = grouppos; } if (postition < 0) postition = 0; else if (postition >= mItemCount) postition = mItemCount - 1; mScrollIndicatorText.setText(mScrollable.getIndicatorForPosition(postition, mGroupPosition)); mList.setSelection(mScrollable.getScrollPosition(postition, mGroupPosition)); }
@Override public void onItemClick(AdapterView<?> parent, View v, int position, long id) { // TODO Auto-generated method stub Log.d( "AboutActivity", "AdapterView.OnItemClickListener.onItemClick() - get item number " + position); Intent intent = null; String message; ListView listView = (ListView) findViewById(R.id.about_list); listView.setSelection(position); switch (position) { case AboutItemIndex.ABOUT_ITEM_AUTHOR: intent = new Intent( Intent.ACTION_SENDTO, Uri.fromParts("mailto", FunLifeUtils.AuthorEmail, null)); intent.putExtra(Intent.EXTRA_SUBJECT, getString(R.string.app_name)); startActivity(Intent.createChooser(intent, "Send email...")); break; case AboutItemIndex.ABOUT_ITEM_BLOG: intent = new Intent( Intent.ACTION_VIEW, Uri.parse(FunLifeUtils.HttpHeader + FunLifeUtils.Blog)); startActivity(intent); break; case AboutItemIndex.ABOUT_ITEM_GPLUS: intent = new Intent( Intent.ACTION_VIEW, Uri.parse(FunLifeUtils.HttpHeader + FunLifeUtils.GooglePlus)); startActivity(intent); break; case AboutItemIndex.ABOUT_ITEM_DETAIL: break; case AboutItemIndex.ABOUT_ITEM_SHARE: intent = new Intent(Intent.ACTION_SEND); intent.setType("plain/text"); intent.putExtra(Intent.EXTRA_SUBJECT, getString(R.string.app_name)); message = getString(R.string.string_share_message); intent.putExtra(Intent.EXTRA_TEXT, message); startActivity(Intent.createChooser(intent, "Share via...")); break; default: break; } }
/** * 点击事件逻辑 * * @param v */ public void widgetClick(View v) { switch (v.getId()) { // 清空聊天记录按钮 case R.id.container_menu: { String st5 = getResources().getString(R.string.Whether_to_empty_all_chats); startActivityForResult( new Intent(this, AlertDialog.class) .putExtra("titleIsCancel", true) .putExtra("msg", st5) .putExtra("cancel", true), REQUEST_CODE_EMPTY_HISTORY); break; } case R.id.btn_set_mode_voice: { // 点击录音部分视图显示状态变化 hideKeyboard(); edittext_layout.setVisibility(View.GONE); more.setVisibility(View.GONE); v.setVisibility(View.GONE); buttonSetModeKeyboard.setVisibility(View.VISIBLE); buttonSend.setVisibility(View.GONE); btnMore.setVisibility(View.VISIBLE); buttonPressToSpeak.setVisibility(View.VISIBLE); iv_emoticons_normal.setVisibility(View.VISIBLE); iv_emoticons_checked.setVisibility(View.INVISIBLE); btnContainer.setVisibility(View.VISIBLE); emojiIconContainer.setVisibility(View.GONE); break; } case R.id.btn_set_mode_keyboard: { // 点击键盘按钮图标显示状态变化 edittext_layout.setVisibility(View.VISIBLE); more.setVisibility(View.GONE); v.setVisibility(View.GONE); buttonSetModeVoice.setVisibility(View.VISIBLE); mEditTextContent.requestFocus(); buttonPressToSpeak.setVisibility(View.GONE); if (TextUtils.isEmpty(mEditTextContent.getText())) { btnMore.setVisibility(View.VISIBLE); buttonSend.setVisibility(View.GONE); } else { btnMore.setVisibility(View.GONE); buttonSend.setVisibility(View.VISIBLE); } break; } case R.id.btn_more: { // 点击更多按钮 if (more.getVisibility() == View.GONE) { hideKeyboard(); more.setVisibility(View.VISIBLE); btnContainer.setVisibility(View.VISIBLE); alarmPreview_layout.setVisibility(View.GONE); emojiIconContainer.setVisibility(View.GONE); } else if (emojiIconContainer.getVisibility() == View.VISIBLE) { emojiIconContainer.setVisibility(View.GONE); btnContainer.setVisibility(View.VISIBLE); iv_emoticons_normal.setVisibility(View.VISIBLE); iv_emoticons_checked.setVisibility(View.INVISIBLE); } else if (alarmPreview_layout.getVisibility() == View.VISIBLE) { alarmPreview_layout.setVisibility(View.GONE); btnContainer.setVisibility(View.VISIBLE); } else { more.setVisibility(View.GONE); } break; } case R.id.et_sendmessage: { listView.setSelection(listView.getCount() - 1); if (more.getVisibility() == View.VISIBLE) { more.setVisibility(View.GONE); iv_emoticons_normal.setVisibility(View.VISIBLE); iv_emoticons_checked.setVisibility(View.INVISIBLE); } break; } default: break; } }