LayoutInflater factory = LayoutInflater.from(BindEmail.this);
final View show = factory.inflate(R.layout.show_protocol, null);
Button confirm_btn = (Button) show.findViewById(R.id.confirm_btn);
final AlertDialog d = new AlertDialog.Builder(BindEmail.this).show();
d.setContentView(show);
confirm_btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
d.dismiss();
}
});
-----------------------
show_protocol.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="679px" android:layout_height="419px"
android:background="@drawable/alert_with_button">
<TextView android:id="@+id/title_tv" android:layout_width="match_parent"
android:layout_height="wrap_content" android:text="车网互联服务使用协议"
android:textSize="25dip" android:paddingTop="5dip"
android:paddingLeft="40dip" android:textColor="#ffffff" />
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent"
android:layout_below="@+id/title_tv" android:id="@+id/body_sv"
android:paddingTop="5dip"
android:paddingLeft="10dip"
android:paddingRight="10dip"
android:paddingBottom="10dip"
android:layout_above="@+id/confirm_btn"
android:scrollbars="vertical">
<TextView
android:text=" 此处显示服务协议具体内容,此处显示服务协议具体内容,此处显示服务协议具体内容,此处显示服务协议具体内容,此处显示服务协议具体内容,此处显示服务协议具体内容,此处显示服务协议具体内容,此处显示服务协议具体内容,此处显示服务协议具体内容,此处显示服务协议具体内容,此处显示服务协议具体内容,此处显示服务协议具体内容,此处显示服务协议具体内容,此处显示服务协议具体内容此处显示服务协议具体内容,此处显示服务协议具体内容,此处显示服务协议具体内容,此处显示服务协议具体内容,此处显示服务协议具体内容,此处显示服务协议具体内容,此处显示服务协议具体内容,此处显示服务协议具体内容,此处显示服务协议具体内容,此处显示服务协议具体内容,此处显示服务协议具体内容,此处显示服务协议具体内容,此处显示服务协议具体内容,此处显示服务协议具体内容"
android:textSize="20dip" android:layout_height="wrap_content"
android:layout_width="match_parent" android:textColor="#444444"></TextView>
</ScrollView>
<Button
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true" android:textColor="#ffffff"
android:background="@drawable/submit_button_style" android:text="我同意"
android:layout_height="wrap_content" android:textSize="20dip"
android:layout_width="wrap_content"
android:id="@+id/confirm_btn" ></Button>
</RelativeLayout>
-------
分享到:
相关推荐
在Android开发中,系统默认的AlertDialog虽然功能齐全,但样式有限,往往无法满足开发者对于界面个性化的需求。因此,自定义AlertDialog成为了提升应用用户体验的重要手段。本文将深入探讨如何在Android中实现一个...
在这个自定义类中,我们重写了`AlertDialog`的构造函数并调用`init()`方法初始化视图。`init()`方法中通过`LayoutInflater`加载了我们之前创建的`dialog_mask.xml`布局,并将其设置为对话框的内容视图。 现在,我们...
1. **创建ListView的Adapter**:你需要创建一个继承自`BaseAdapter`的自定义Adapter类,重写其中的方法如`getCount()`、`getItem()`、`getItemId()`以及`getView()`。`getView()`方法用于返回每个列表项的视图,你...
对于自定义`AlertDialog`,开发者可以通过继承`AlertDialog`并重写其方法来实现特定的功能。另一种常见的方式是通过`Builder`的扩展方法,如创建一个新的`Builder`子类并添加新的构建方法。 在性能优化方面,`...
解决这些问题通常需要对Android的UI系统有深入理解,可能需要调整动画的执行时间、帧率,甚至重写部分代码以适应特定设备或API版本。 在调试这类问题时,可以使用Android Studio的布局检查器、性能分析工具,或者...
要自定义它,我们需要创建一个继承自`AlertDialog.Builder`的类,然后重写其`create()`方法,以便可以对对话框的各个部分进行定制,如标题、内容、按钮等。例如: ```java public class CustomAlertDialogBuilder ...
虽然不常用,但你也可以直接创建一个AlertDialog的子类,重写需要的方法来定制自己的对话框。这种方式适用于需要高度自定义的对话框。 3. **使用Material Design Dialogs库**: 如果需要更现代、更一致的设计,...
在实际项目中,我们可能还需要自定义对话框,这时可以通过继承AlertDialog或其子类,重写需要的方法来实现。例如,自定义对话框的布局文件,然后在Builder中设置这个布局: ```java AlertDialog.Builder builder = ...
2. **重写onCreateDialog方法**: - 在这个方法中,我们需要构建并返回`AlertDialog`实例。 - 使用`AlertDialog.Builder`类创建对话框,并设置标题、消息、确认按钮和取消按钮的文本。 3. **添加多选列表**: - ...
1. 创建一个新的DialogFragment子类,并重写`onCreateDialog()`方法。在这个方法中,你可以创建并返回一个AlertDialog实例,设置对话框的标题、消息、按钮等属性。 ```java public class MyDialogFragment extends ...
AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage("确定要退出吗?") .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick...
首先,创建自定义`AlertDialog`的核心在于继承`AlertDialog.Builder`或`AlertDialog`类,并重写其方法。这样可以控制对话框的各个部分,如标题、内容、按钮等。例如,你可以创建一个名为`CustomAlertDialogBuilder`...
这可以通过继承`AlertDialog`的子类`AlertDialog.Builder`并重写其`create()`或`getDialog()`方法来实现。例如,你可以创建一个新的布局文件,然后使用`LayoutInflater`将这个布局加载到对话框中: ```java public ...
3. 重写`onOptionsItemSelected`方法来处理菜单项的选择: ```java @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.action_add: // 添加操作 return ...
在Android开发中,AlertDialog是一种常用的UI组件,用于与用户进行交互。它通常作为一个小型窗口出现在当前活动(Activity)之上,使下面的Activity失去焦点,从而引导用户进行特定操作。AlertDialog提供了一个灵活...
我们需要继承`DialogFragment`并重写`onCreateDialog()`方法,在这里我们可以加载我们自定义的布局,并设置适当的属性,如宽度、高度等。 3. **按钮样式和行为**:要模拟iOS的按钮,我们需要为每个按钮设置圆角、...
创建`Service`需要定义一个继承自`Service`的类,并重写关键方法如`onCreate()`、` onStartCommand()`和` onDestroy()`。 2. **启动和绑定Service** 有两种启动`Service`的方式:通过`startService()`启动和通过`...
最近项目里有个功能点,需要使用...我需要继承AlertDialog,设置自己的内容view,重写onKeyDown方法,设置dialog的位置等...... 写了个demo. Demo是在5.0手机上测试的, 6.0以上系统还需要添加动态运行时权限的逻辑 。
erilyAlertDialog 是由Herily[虚拟名]研究android对话框源码后的结晶,继承自AlertDialog并根据需要重写了部分代码,使其能满足自己所需要的风格的对话框。你可以像使用AlertDialog一样的使用HerilyAlertDialog。你...
为了实现动画效果,比如对话框的滑动进出,我们可以重写`onCreateDialog()`方法,在其中添加动画。例如,可以使用`ObjectAnimator`来控制对话框的透明度变化,或者利用`Transition` API实现平滑的过渡效果。 最后,...