LayoutInflater的使用效果和findViewById()有点类似,不过它有更多的功能,具体可以参考api;
代码:
}else if(v.getId()==R.id.dialog_Button){
LayoutInflater inflater = (LayoutInflater) MyGridActivity.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.main_item, null);
EditText txt = (EditText) layout.findViewById(R.id.dia_txt);
txt.setText("Dialog");
Button btn =(Button) layout.findViewById(R.id.dia_btn);
ImageView img = (ImageView) layout.findViewById(R.id.dia_image);
img.setImageResource(R.drawable.super_btn_png1);
Builder builder = new AlertDialog.Builder(MyGridActivity.this);
builder.setView(layout);
AlertDialog dialog = builder.create();
dialog.show();
btn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
/**
*
*
*/
}
});
dialog_xml:
<?xml version="1.0" encoding="UTF-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingBottom="4dip" >
<ImageView
android:id="@+id/dia_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true" />
<Button
android:id="@+id/dia_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/dia_image"
android:layout_marginRight="40dp"
android:layout_marginTop="131dp"
android:layout_toLeftOf="@+id/dia_image"
android:text="Button" />
<EditText
android:id="@+id/dia_txt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true" >
<requestFocus />
</EditText>
</RelativeLayout>
效果:
- 大小: 29 KB
分享到:
相关推荐
总的来说,这个"LayoutInflater inflate 示例demo"是一个很好的学习资源,它将帮助你深入理解Android中布局动态加载的过程,以及如何根据需要有效地使用`LayoutInflater`。通过实践,你将能够熟练掌握这一关键的...
Android 中LayoutInflater(布局加载器)之实战篇 博客的Demo 博客地址: http://blog.csdn.net/l540675759/article/details/78112989 两种方式实现小红书的引导页: (1)自定义View (2)自定义LayoutInflater....
在`android_listview_inflater_demo`项目中,可能会展示如何使用`LayoutInflater`来填充ListView的每个条目。ListView通常使用Adapter,其中`getView`方法会调用`LayoutInflater`来创建和复用视图。通过合理使用`...
在Android开发中,`LayoutInflater`是一个非常重要的工具类,它主要负责将XML布局...LayOutInflaterDemo这个Demo应该包含了使用`LayoutInflater`的实际示例,通过查看和学习,可以帮助你更好地理解和运用这一关键工具。
7. **性能优化**:避免过度绘制和深度嵌套的布局,使用`ViewStub`减少未使用布局的加载,使用`LayoutInflater`进行视图复用等。 通过下载并研究"android框架布局demo",你将有机会亲手实践这些概念,进一步加深对...
在本项目"DialogDemo"中,重点在于自定义`Dialog`的布局,以实现更个性化的用户界面。自定义`Dialog`布局允许开发者根据应用需求创建独特且具有吸引力的对话框,提供更丰富的用户体验。 首先,我们要理解`Dialog`的...
"android fragment 页面切换简单demo"是一个典型的示例,用于演示如何在Android应用中使用Fragment进行页面切换。这个demo旨在通过简洁明了的代码帮助开发者理解Fragment的基本用法。 首先,Fragment是Android SDK...
此外,还可以创建自定义Dialog布局,通过`LayoutInflater`加载XML布局文件,并将其设置给`Dialog`的视图。这个Demo可能展示了如何创建不同类型的Dialog,如警告对话框、单选对话框、多选对话框等。 接下来是"水平...
在ListView中,每一行都由一个View表示,这个View可以通过LayoutInflater从XML布局文件中加载。开发者通常会为ListView创建一个单独的布局文件,用于定义每一行的显示样式。在这个DEMO中,可能有一个自定义的布局...
View view = LayoutInflater.from(Context).inflate(R.layout.progress_dialog_layout, null); builder.setView(view); final ProgressBar progressBar = view.findViewById(R.id.progress_bar); // 更新进度条的...
4. **Fragment的布局**:Fragment的UI通常在XML布局文件中定义,并在onCreateView()或onCreateView(LayoutInflater, ViewGroup, Bundle)方法中通过LayoutInflater实例化。返回的View对象将被添加到Activity的视图...
通常,你会在这里定义Fragment显示的UI元素,如TextView、Button、RecyclerView等,并通过LayoutInflater和ViewGroup将其加载到Fragment中。 此外,Fragment间的通信是一个重要的主题。Fragment可以通过接口、...
本Demo旨在全面展示Fragment的生命周期过程,帮助开发者更好地理解和运用。 Fragment的生命周期主要包括以下13个关键方法: 1. **onAttach()**: 当Fragment与Activity关联时调用,标志着Fragment开始进入生命周期...
在Android开发中,`PopupWindow`是一个非常重要的组件,它允许开发者在主界面之上显示一个临时的、可定制的窗口,通常用于实现各种形式的下拉菜单、提示信息或者简单的对话框效果。在这个"Android PopupWindow的Demo...
在这个“Include标签学习的demo”中,我们将深入探讨`<include>`标签的使用方法及其在高级UI抽样布局中的应用。 首先,`<include>`标签的基本语法如下: ```xml layout="@layout/layout_to_include" android:...
在Android开发中,Dialog是一种常见的用户交互界面,用于在主界面之上显示临时信息或进行简短的用户操作。默认的Dialog样式和布局是固定的,通常包括一个标题、内容区域和一到两个按钮。然而,这样的预设布局并不总...
在本`ViewPager + Fragment`小Demo中,我们将深入探讨如何将这两个组件有效地结合起来。 首先,我们需要了解`ViewPager`的基本用法。`ViewPager`继承自` ViewGroup`,它会根据用户的滑动操作加载相邻的页面。为了使...
1. 创建`PopupWindow`对象:首先需要一个布局资源文件作为弹出窗口的内容,通过`LayoutInflater`加载这个布局,然后将加载的结果传递给`PopupWindow`的构造函数。 2. 设置大小:可以通过`setWidth`和`setHeight`方法...
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); View view = inflater.inflate(R.layout.float_view, null); ``` 接下来,使用`WindowManager`实例添加这个布局...