最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android仿微信實現(xiàn)評論功能

 更新時間:2018年11月28日 10:29:51   作者:Ls雙兒  
這篇文章主要為大家詳細介紹了Android仿微信實現(xiàn)評論功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下

在最近做的項目中有碰到要寫類似朋友圈的模塊,因為要實現(xiàn)評論點贊功能,這里說下我是怎么實現(xiàn)評論功能的。

首先先放上效果圖  

這里貼上我的代碼:

//給評論圖標設置點擊事件
 mIv_header_discuss.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
  showPopupcomment();
  }
 });

showPopupcomment()方法如下

private PopupWindow popupWindow;
 private View popupView = null;
 private EditText inputComment;
 private String nInputContentText;
 private TextView btn_submit;
 private RelativeLayout rl_input_container;
 private InputMethodManager mInputManager;
 @SuppressLint("WrongConstant")
 private void showPopupcomment() {
 if (popupView == null){
 //加載評論框的資源文件 
  popupView = LayoutInflater.from(context).inflate(R.layout.comment_popupwindow, null);
 }
 inputComment = (EditText) popupView.findViewById(R.id.et_discuss);
 btn_submit = (Button) popupView.findViewById(R.id.btn_confirm);
 rl_input_container = (RelativeLayout)popupView.findViewById(R.id.rl_input_container);
 //利用Timer這個Api設置延遲顯示軟鍵盤,這里時間為200毫秒
 Timer timer = new Timer();
 timer.schedule(new TimerTask() {

  public void run()
  {
  mInputManager = (InputMethodManager)getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
  mInputManager.showSoftInput(inputComment, 0);
  }

 }, 200);
 if (popupWindow == null){
  popupWindow = new PopupWindow(popupView, RelativeLayout.LayoutParams.MATCH_PARENT,
   RelativeLayout.LayoutParams.WRAP_CONTENT, false);

 }
 //popupWindow的常規(guī)設置,設置點擊外部事件,背景色
 popupWindow.setTouchable(true);
 popupWindow.setFocusable(true);
 popupWindow.setOutsideTouchable(true);
 popupWindow.setBackgroundDrawable(new ColorDrawable(0x00000000));
 popupWindow.setTouchInterceptor(new View.OnTouchListener() {
  @Override
  public boolean onTouch(View v, MotionEvent event) {
  if (event.getAction() == MotionEvent.ACTION_OUTSIDE)
   popupWindow.dismiss();
  return false;

  }
 });

 // 設置彈出窗體需要軟鍵盤,放在setSoftInputMode之前
 popupWindow.setSoftInputMode(PopupWindow.INPUT_METHOD_NEEDED);
 // 再設置模式,和Activity的一樣,覆蓋,調整大小。
 popupWindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
 //設置popupwindow的顯示位置,這里應該是顯示在底部,即Bottom
 popupWindow.showAtLocation(popupView, Gravity.BOTTOM, 0, 0);

 popupWindow.update();

 //設置監(jiān)聽
 popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {

  // 在dismiss中恢復透明度
  @RequiresApi(api = Build.VERSION_CODES.CUPCAKE)
  public void onDismiss() {

  mInputManager.hideSoftInputFromWindow(inputComment.getWindowToken(), 0); //強制隱藏鍵盤


  }
 });
 //外部點擊事件
 rl_input_container.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {


  mInputManager.hideSoftInputFromWindow(inputComment.getWindowToken(), 0); //強制隱藏鍵盤
  popupWindow.dismiss();

  }
 });
 //評論框內(nèi)的發(fā)送按鈕設置點擊事件
 btn_submit.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {


  nInputContentText = inputComment.getText().toString().trim();

  if (nInputContentText == null || "".equals(nInputContentText)) {
   showToastMsgShort("請輸入評論內(nèi)容");
   return;
  }
  mInputManager.hideSoftInputFromWindow(inputComment.getWindowToken(),0);
  popupWindow.dismiss();

  }
 });
 }

在剛開始顯示的時候發(fā)現(xiàn),EditText即評論框被頂?shù)狡聊蛔钌戏剑欢I盤顯示在底部,達不到效果。很多文章都說

popupWindow.setSoftInputMode(PopupWindow.INPUT_METHOD_NEEDED);
popupWindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

這兩句代碼順序不能變,然而這樣寫了之后還是實現(xiàn)不了,自己摸索了半天發(fā)現(xiàn)出現(xiàn)這樣的問題與評論框的布局也有關系。

所以在這里貼上我的評論框布局

R.layout.comment_popupwindow

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:id="@+id/rl_input_container"
 android:layout_width="match_parent"
 android:layout_height="match_parent">
 <LinearLayout
  android:layout_width="match_parent"
  android:layout_height="44dp"
  android:background="@color/colorWhite"
  android:layout_alignParentBottom="true"
  android:orientation="horizontal">
  <EditText
  android:id="@+id/et_discuss"
  android:layout_width="0dp"
  android:layout_weight="1"
  android:layout_height="38dp"
  android:textColorHint="#a2a2a2"
  android:textSize="13sp"
  android:layout_marginRight="7dp"
  android:layout_marginLeft="15dp"
  android:layout_marginBottom="6dp"
  android:layout_marginTop="6dp"
  android:ellipsize="end"
  android:background="@drawable/round_edittext_input"
  android:layout_gravity="center_vertical"
  android:paddingLeft="@dimen/ten_padding"
  android:paddingRight="@dimen/ten_padding"
  android:singleLine="true" />
  <Button
  android:id="@+id/btn_confirm"
  android:text="發(fā)送"
  android:background="@drawable/btn_discuss_bg"
  android:textSize="16sp"
  android:layout_gravity="center_vertical"
  android:textColorHint="#b7b7b7"
  android:textColor="@color/colorWhite"
  android:layout_marginRight="@dimen/ten_padding"
  android:gravity="center"
  android:layout_width="40dp"
  android:layout_height="38dp"/>
  </LinearLayout>
</RelativeLayout>

把評論框和發(fā)送按鈕用LinearLayout包裹,然后在最外層用一個RelativeLayout包裹住,發(fā)現(xiàn)這樣子評論框就會和軟鍵盤一起彈出來了。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • android實現(xiàn)始終顯示overflow菜單的方法

    android實現(xiàn)始終顯示overflow菜單的方法

    這篇文章主要介紹了android實現(xiàn)始終顯示overflow菜單的方法,需要的朋友可以參考下
    2014-07-07
  • Android自定義View實現(xiàn)五星好評效果

    Android自定義View實現(xiàn)五星好評效果

    這篇文章主要為大家詳細介紹了Android自定義View實現(xiàn)五星好評效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • Android圖片識別應用詳解

    Android圖片識別應用詳解

    這篇文章主要為大家詳細介紹了Android圖片識別的應用,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Android實現(xiàn)動態(tài)圓環(huán)的圖片頭像控件

    Android實現(xiàn)動態(tài)圓環(huán)的圖片頭像控件

    這篇文章主要為大家詳細介紹了Android實現(xiàn)帶有動態(tài)圓環(huán)的圓形圖片控件DynamicAvatarView的相關代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Android判斷登錄情況

    Android判斷登錄情況

    這篇文章主要介紹了Android判斷登錄情況,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08
  • Android仿今日頭條滑動頁面導航效果

    Android仿今日頭條滑動頁面導航效果

    這篇文章主要為大家詳細介紹了Android仿今日頭條滑動頁面導航效果的相關資料,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-01-01
  • Android自定義View弧線進度控件

    Android自定義View弧線進度控件

    這篇文章主要為大家詳細介紹了Android自定義View弧線進度控件,點擊開始按鈕時,逐漸的出現(xiàn)進度,感興趣的小伙伴們可以參考一下
    2016-07-07
  • Android如何使用圓形揭露動畫巧妙地隱藏或顯示View詳解

    Android如何使用圓形揭露動畫巧妙地隱藏或顯示View詳解

    Android開發(fā)中會遇到不少顯示和隱藏的問題,下面這篇文章主要給大家介紹了關于Android如何使用圓形揭露動畫巧妙地隱藏或顯示View的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-04-04
  • Android 7.0中新簽名對多渠道打包的影響詳解

    Android 7.0中新簽名對多渠道打包的影響詳解

    這篇文章主要介紹了Android 7.0中新簽名對多渠道打包的影響,文中介紹的很詳細,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-02-02
  • Android自定義View實現(xiàn)掃描效果

    Android自定義View實現(xiàn)掃描效果

    這篇文章主要為大家詳細介紹了Android自定義View實現(xiàn)掃描效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-04-04

最新評論

泸溪县| 夏河县| 资阳市| 榕江县| 洛浦县| 溆浦县| 东港市| 乃东县| 漳浦县| 泾阳县| 牟定县| 滦南县| 邹平县| 岱山县| 云安县| 江达县| 南漳县| 临洮县| 宁化县| 嘉峪关市| 靖安县| 双柏县| 治多县| 景谷| 金门县| 邹城市| 鹿泉市| 顺昌县| 无为县| 宁海县| 监利县| 庆云县| 鹤峰县| 兰溪市| 石狮市| 炎陵县| 上虞市| 绍兴市| 张北县| 桓仁| 宝鸡市|