友盟意见反馈——对话框改为单一的用户反馈
发布时间:2020-12-14 05:22:05 所属栏目:百科 来源:网络整理
导读:1.实现的效果:由自带的左图对话框的样式变为右图单一的反馈形式,并把用户信息放到同一个界面 2 .布局文件: 把umeng_fb_activity_contact.xml和umeng_fb_activity_conversation.xml合二为一,如下: RelativeLayout xmlns:android="http://schemas.android
1.实现的效果:由自带的左图对话框的样式变为右图单一的反馈形式,并把用户信息放到同一个界面 2.布局文件: 把umeng_fb_activity_contact.xml和umeng_fb_activity_conversation.xml合二为一,如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#ffffff" android:orientation="vertical" tools:context=".C onversationActivity" > <EditText android:id="@+id/umeng_fb_replyContent" android:layout_width="match_parent" android:layout_height="150dp" android:layout_marginLeft="15dp" android:layout_marginRight="15dp" android:layout_marginTop="15dp" android:background="@drawable/feedback_bg" android:gravity="top" android:hint="@string/umeng_fb_reply_content_hint" android:paddingBottom="10dp" android:paddingLeft="15dp" android:paddingRight="10dp" android:paddingTop="10dp" android:textColorHint="#dbdbdb" android:textSize="15sp" > <requestFocus /> </EditText> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="26dp" android:layout_alignLeft="@+id/umeng_fb_replyContent" android:layout_below="@+id/umeng_fb_replyContent" android:layout_marginTop="10dp" android:text="@string/umeng_fb_contact_info" android:textColorHighlight="#797979" android:textSize="15sp" /> <EditText android:id="@+id/umeng_fb_contactInfo" android:layout_width="fill_parent" android:layout_height="50dp" android:layout_alignLeft="@+id/textView1" android:layout_alignRight="@+id/umeng_fb_replyContent" android:layout_below="@+id/textView1" android:layout_marginTop="5dp" android:background="@drawable/ic_more_item_default" android:focusable="true" android:focusableInTouchMode="true" android:hint="@string/umeng_fb_contact_info_hint" android:paddingBottom="10dp" android:paddingLeft="15dp" android:paddingRight="10dp" android:paddingTop="10dp" android:textColorHint="#dbdbdb" android:textSize="15sp" > </EditText> </RelativeLayout> 3.主要代码: 把友盟官方提供的ConversationActivity和ContactActivity合二为一,如下:
public class ConversationActivity extends SherlockActivity { // private static final String TAG = ConversationActivity.class.getName(); private static final String KEY_UMENG_CONTACT_INFO_PLAIN_TEXT = "plain"; private FeedbackAgent agent; private Conversation defaultConversation; EditText userReplyContentEdit,contactInfo; Button sendBtn; ImageButton backBtn; private TextView tv_title; private RadioButton back_imbt; private TextWatcher watcher = new TextWatcher() { @Override public void onTextChanged(CharSequence s,int start,int before,int count) { } @Override public void beforeTextChanged(CharSequence s,int count,int after) { } @Override public void afterTextChanged(Editable s) { sendBtn.setClickable(true); sendBtn.setBackgroundColor(Color.parseColor("#ff0000")); sendBtn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { String content = userReplyContentEdit.getEditableText() .toString().trim(); if (TextUtils.isEmpty(content)) return; if (content.length() < 10) return; Toast.makeText(ConversationActivity.this,"Thanks for your advice.",Toast.LENGTH_SHORT) .show(); userReplyContentEdit.getEditableText().clear(); defaultConversation.addUserReply(content); sync(); InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); if (imm != null) imm.hideSoftInputFromWindow( userReplyContentEdit.getWindowToken(),0); UserInfo info = agent.getUserInfo(); if (info == null) info = new UserInfo(); Map<String,String> contact = info.getContact(); if (contact == null) contact = new HashMap<String,String>(); String contact_info = contactInfo.getEditableText() .toString(); contact.put(KEY_UMENG_CONTACT_INFO_PLAIN_TEXT,contact_info); info.setContact(contact); agent.setUserInfo(info); contactInfo.getEditableText().clear(); } }); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.umeng_fb_activity_conversation); try { agent = new FeedbackAgent(this); defaultConversation = agent.getDefaultConversation(); sync(); userReplyContentEdit = (EditText) findViewById(R.id.umeng_fb_replyContent); contactInfo = (EditText) findViewById(R.id.umeng_fb_contactInfo); userReplyContentEdit.addTextChangedListener(watcher); } catch (Exception e) { e.printStackTrace(); this.finish(); } } @Override protected void onStart() { super.onStart(); getSupportActionBar().setDisplayHomeAsUpEnabled(false); getSupportActionBar().setDisplayShowHomeEnabled(false); getSupportActionBar().setDisplayShowTitleEnabled(false); getSupportActionBar().setBackgroundDrawable( getResources().getDrawable(R.drawable.top1)); initActionBar(); } private void initActionBar() { getSupportActionBar().setDisplayShowCustomEnabled(true); View actionbarLayout = LayoutInflater.from(this).inflate( R.layout.jyx_actionbar_edit,null); getSupportActionBar().setCustomView(actionbarLayout); back_imbt = (RadioButton) actionbarLayout.findViewById(R.id.back_imbt); sendBtn = (Button) actionbarLayout.findViewById(R.id.edit_imbt); tv_title = (TextView) actionbarLayout.findViewById(R.id.tv_title); tv_title.setText("Advice"); sendBtn.setText("Send"); sendBtn.setClickable(false); back_imbt.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { finish(); } }); } void sync() { Conversation.SyncListener listener = new Conversation.SyncListener() { @Override public void onSendUserReply(List<Reply> replyList) { } @Override public void onReceiveDevReply(List<DevReply> replyList) { } }; defaultConversation.sync(listener); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |