android 评论输入框(PopupWindow)
生活随笔
收集整理的這篇文章主要介紹了
android 评论输入框(PopupWindow)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、先定義一個按鈕(activity_main)
<?xml version="1.0" encoding="utf-8"?> <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><Buttonandroid:id="@+id/main_btn"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="評論"/></LinearLayout>2、定義一個彈出框布局(popuwindow)
<?xml version="1.0" encoding="utf-8"?> <citycircle.com.face.FaceRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical"><LinearLayoutandroid:id="@+id/ll_input"android:layout_width="match_parent"android:layout_height="45dp"android:background="@android:color/white"android:orientation="horizontal"android:paddingLeft="12dp"android:paddingRight="12dp"><LinearLayoutandroid:layout_width="0dp"android:layout_height="match_parent"android:layout_margin="6dp"android:layout_weight="1"android:background="@drawable/shape_bg_white_pinglun"android:gravity="center_vertical"android:orientation="horizontal"android:paddingLeft="5dp"android:paddingRight="5dp"><EditTextandroid:id="@+id/et_sendmessage"android:layout_width="0dp"android:layout_height="match_parent"android:layout_weight="1"android:background="@null"android:gravity="center_vertical"android:hint=""android:maxLines="4"android:minHeight="28dp"android:paddingLeft="12dp"android:paddingRight="12dp"android:text=""android:textColor="@android:color/black"android:textColorHint="#cccccc"android:textSize="16sp" /><ImageButtonandroid:id="@+id/btn_face"android:layout_width="26dp"android:layout_height="26dp"android:layout_gravity="center_vertical"android:background="@null"android:scaleType="centerCrop"android:src="@mipmap/ic_biaoqing"android:visibility="visible" /></LinearLayout><TextViewandroid:id="@+id/btn_send"android:layout_width="48dp"android:layout_height="match_parent"android:layout_gravity="right|center_vertical"android:layout_marginRight="8dp"android:gravity="center"android:text="發布"android:textColor="@android:color/darker_gray"android:textSize="18sp" /></LinearLayout><RelativeLayoutandroid:id="@+id/ll_facechoose"android:layout_width="fill_parent"android:layout_height="124dp"android:layout_below="@id/ll_input"android:background="#f6f5f5"android:visibility="gone"><android.support.v4.view.ViewPagerandroid:id="@+id/vp_contains"android:layout_width="match_parent"android:layout_height="match_parent" ></android.support.v4.view.ViewPager><LinearLayoutandroid:id="@+id/iv_image"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_alignParentBottom="true"android:layout_marginBottom="6dip"android:gravity="center"android:orientation="horizontal" ></LinearLayout></RelativeLayout> </citycircle.com.face.FaceRelativeLayout>3、主要代碼(MainActivity)
import android.app.ActionBar; import android.content.Context; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.WindowManager; import android.view.inputmethod.InputMethodManager; import android.widget.Button; import android.widget.EditText; import android.widget.PopupWindow; import android.widget.Toast;public class MainActivity extends AppCompatActivity {private PopupWindow mPopWindow;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button button = findViewById(R.id.main_btn);button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {showPopupWindow();}});}private void showPopupWindow() {//設置contentViewView contentView = LayoutInflater.from(MainActivity.this).inflate(R.layout.popup, null);mPopWindow = new PopupWindow(contentView,ActionBar.LayoutParams.MATCH_PARENT, ActionBar.LayoutParams.WRAP_CONTENT, true);mPopWindow.setContentView(contentView);//防止PopupWindow被軟件盤擋住(可能只要下面一句,可能需要這兩句) // mPopWindow.setSoftInputMode(PopupWindow.INPUT_METHOD_NEEDED);mPopWindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);//設置軟鍵盤彈出InputMethodManager inputMethodManager = (InputMethodManager) getApplicationContext().getSystemService(Context.INPUT_METHOD_SERVICE);inputMethodManager.toggleSoftInput(1000, InputMethodManager.HIDE_NOT_ALWAYS);//這里給它設置了彈出的時間//設置各個控件的點擊響應final EditText editText = contentView.findViewById(R.id.pop_editText);Button btn = contentView.findViewById(R.id.pop_btn);btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String inputString = editText.getText().toString();Toast.makeText(MainActivity.this, inputString, Toast.LENGTH_SHORT).show();mPopWindow.dismiss();//讓PopupWindow消失}});//是否具有獲取焦點的能力mPopWindow.setFocusable(true);//顯示PopupWindowView rootview = LayoutInflater.from(MainActivity.this).inflate(R.layout.activity_main, null);mPopWindow.showAtLocation(rootview, Gravity.BOTTOM, 0, 0);} }?
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的android 评论输入框(PopupWindow)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 设置控件宽高比例
- 下一篇: android WebView的简单使用