.java
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import com.example.jing.maya_android.R;
import com.example.jing.maya_android.helper.KapNextButttonIsEnableHelper;
import com.example.jing.maya_android.helper.StringDetectionHelper;
import com.example.jing.maya_android.view.KapCustomNextButton;
import java.util.ArrayList;
import butterknife.BindView;
import butterknife.ButterKnife;
public class KapCreateNameAlert extends Dialog{
/** view */
@BindView(R.id.prompt_textview)
private TextView promptTextView;
@BindView(R.id.prompt_sub_textview)
private TextView promptSubTextView;
@BindView(R.id.edittext)
private EditText editText;
@BindView(R.id.cancle_buttom)
private KapCustomNextButton cancleButton;
@BindView(R.id.okay_button)
private KapCustomNextButton okayButton;
/** 接口和回调 */
public interface KapCreateNameOkayListener{
public void onClick(String contentString);
}
private KapCreateNameOkayListener okayListener = null;
/** 构造函数 */
public KapCreateNameAlert(@NonNull Context context) {
super(context, R.style.KapCreateNameAlert);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.alert_createdname_view);
ButterKnife.bind(this);
// 监听按钮
KapNextButttonIsEnableHelper.NextButtonEnableChange(okayButton, new ArrayList<EditText>() {{
add(editText);
}}, new KapNextButttonIsEnableHelper.KapButtonStatusChangeInterface() {
@Override
public boolean isCanEble() {
return !StringDetectionHelper.isBlackString(editText.getText().toString());
}
});
// 点击事件
okayButton.getButton().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (okayListener != null) okayListener.onClick(editText.getText().toString());
}
});
cancleButton.getButton().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
hide();
}
});
}
/** 辅助方法 */
public void chengeShowTitle(String prompt,String promptSub){
promptTextView.setText(prompt);
promptSubTextView.setText(promptSub);
}
public void cleanContent(){
editText.setText("");
}
/** set */
public void setOkayListener(KapCreateNameOkayListener okayListener) {
this.okayListener = okayListener;
}
}
style
<!--自定义 dialog-->
<style name="KapCreateNameAlert" parent="android:style/Theme.Dialog">
<!--背景颜色及和透明程度-->
<item name="android:windowBackground">@android:color/transparent</item>
<!--是否去除标题 -->
<item name="android:windowNoTitle">true</item>
<!--是否去除边框-->
<item name="android:windowFrame">@null</item>
<!--是否浮现在activity之上-->
<item name="android:windowIsFloating">true</item>
<!--是否模糊-->
<item name="android:backgroundDimEnabled">false</item>
</style>
xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/prompt_backview"
android:layout_width="match_parent"
android:layout_height="20dp"
android:orientation="horizontal"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:layout_marginLeft="12dp"
android:layout_marginRight="12dp">
<TextView
android:id="@+id/prompt_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:textSize="14dp"
android:textColor="@color/BANK_GRAY_cacaca"
android:text="书籍名称"/>
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"/>
<TextView
android:id="@+id/prompt_sub_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:textColor="@color/Bank_Red_dc1f1f"
android:textSize="10dp"
android:text="书籍名称将不可修改"/>
</LinearLayout>
<EditText
android:id="@+id/edittext"
android:layout_width="match_parent"
android:layout_height="66dp"
android:layout_marginLeft="12dp"
android:layout_marginRight="12dp"
android:background="@drawable/custom_oval_gray"
android:gravity="left|top"
android:inputType="text|textCapSentences"
android:imeOptions="actionSend"
android:singleLine="true"
android:textSize="12sp"/>
<LinearLayout
android:id="@+id/button_backview"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginLeft="12dp"
android:layout_marginRight="12dp"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:orientation="horizontal">
<com.example.jing.maya_android.view.KapCustomNextButton
android:id="@+id/cancle_buttom"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
app:custom_nextbutton_title_normal="@string/alert_cancle"
app:custom_nextbutton_titlecolor_normal="@color/Bank_Black_313131"
app:custom_nextbutton_backcolor_normal="@color/Bank_White_ffffff" />
<View
android:layout_width="30dp"
android:layout_height="wrap_content"/>
<com.example.jing.maya_android.view.KapCustomNextButton
android:id="@+id/okay_button"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
app:custom_nextbutton_title_normal="@string/alert_ok"
app:custom_nextbutton_titlecolor_normal="@color/Bank_White_ffffff"
app:custom_nextbutton_backcolor_normal="@color/Bank_Black_313131"
app:custom_nextbutton_title_unenable="@string/next"
app:custom_nextbutton_titlecolor_unenable="@color/Bank_White_ffffff"
app:custom_nextbutton_backcolor_unenable="@color/BANK_GRAY_d2d2d2" />
</LinearLayout>
</LinearLayout>
网友评论