最近在做一个综合性实验,关于短信管理的,里面的短信浏览想做成对话形式的,大概的想法是改变Padding值。
首先是Activity的Layout文件,里面只有一个简单的ListView。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView
android:id="@+id/main_list"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
</LinearLayout>
然后是ListView的Item的布局,也是一个简单的TextView而已。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<TextView
android:id="@+id/item_txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="JustForTestJustForTestJustForTestJustForTestJustForTestJustForTestJustForTestJustForTest"
android:textColor="@android:color/white"
android:textSize="20dp"
/>
</LinearLayout>
最后是Activity的代码。
package com.raybinlearn.raybin;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
public class MainActivity extends Activity
{
private ListView mListView = null;
private int temp = 1;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mListView = (ListView) findViewById(R.id.main_list);
ListAdapter adapter = new ListAdapter(MainActivity.this);
mListView.setAdapter(adapter);
}
/**
* List的一个Item,存放一个文本标签
*
* @author Raybin
*/
class ListItem
{
TextView mtxvName;
ListItem(View parent)
{
mtxvName = (TextView) parent.findViewById(R.id.item_txt);
}
}
/**
* List的内容适配器
*
* @author Raybin
*/
class ListAdapter extends BaseAdapter
{
Context context;
LayoutInflater mInflater;
ListAdapter(Context context)
{
super();
this.context = context;
mInflater = LayoutInflater.from(context);
}
@Override
public View getView(int arg0, View arg1, ViewGroup arg2)
{
ListItem listItem = null;
if (arg1 == null)
{
arg1 = mInflater.inflate(R.layout.list_item, null);
listItem = new ListItem(arg1);
arg1.setTag(listItem);
}
else
{
listItem = (ListItem) arg1.getTag();
}
//--改变padding
if (temp%2 == 0)
{
arg1.setPadding(35, 0, 0, 0);
}
else
{
arg1.setPadding(0, 0, 35, 0);
}
temp = temp + 1;
return arg1;
}
@Override
public long getItemId(int arg0)
{
return arg0;
}
@Override
public Object getItem(int arg0)
{
return arg0;
}
@Override
public int getCount()
{
return 10;
}
}
}
效果如下:
分享到:
相关推荐
在气泡对话列表中,ListView用于展示每条消息,每个条目都以气泡的形式呈现,根据发送者和接收者的不同,气泡会显示在不同的位置。 **1. 气泡样式** 气泡样式通常由两个部分组成:背景形状和文字内容。背景形状可以...
本示例项目"android蓝牙实现对话Demo"提供了一个完整的Android Studio工程,旨在帮助开发者理解和应用Android蓝牙功能。以下将详细介绍该项目中的关键知识点: 1. **蓝牙API介绍**: Android提供了`...
在Android开发中 我们经常会需要在Android界面上弹出一些对话框 比如询问用户或者让用户选择 关于Android Dialog的使用方法 已经有很多blog做出了详细的介绍(比如博客:7种形式的Android Dialog使用举例) 但是只是...
对话片段可以在Activity之上以对话形式呈现,这使得在不同屏幕尺寸和配置下保持良好的用户体验成为可能。动态对话库改进了对话片段的用法,使其更容易在代码中管理和实例化。 3. API兼容性: 该库特别强调了对...
在Android开发中,ListView是一种非常常见的控件,用于展示大量数据列表。它的对话效果通常指的是在用户界面上创建一个类似于对话框的展示形式,使ListView的内容看起来像是在与用户进行交互。这种效果能够提升用户...
文件列表中的`FMDialogs.deployproj`、`FMDialogs.dpr`和`FMDialogs.dproj`是Delphi项目文件,它们包含了项目的配置信息、入口点以及编译设置。`MDialogs.fmx`和`MMain.fmx`是FireMonkey形式的用户界面文件,其中...
9. 恶意广告:这类恶意软件通过广告形式获取收益,可能会在用户不知情的情况下产生额外的收费。 10. 网络会话劫持:能够捕获和劫持未加密的网络对话,例如拦截未加密网站的通信。 11. 收集被感染设备信息:搜集...
泡泡聊天界面的特点是对话内容以气泡的形式显示,每个气泡包含发送者的信息,同时根据发送者和接收者的不同,气泡会有不同的颜色和方向。下面将详细介绍如何在Android中实现这样的聊天界面。 首先,我们需要准备UI...
在Android开发中,有时我们需要创建一个特殊的Activity,它以对话框的形式展示,而不是全屏填充。这样的Activity通常用于提供用户一些简短的信息或者需要用户进行简单的交互操作,比如设置、警告或者确认对话。这种...
1. **对话形式展示**:智能短信管理器将收到的短信以对话的形式呈现,如同即时通讯软件一样,使用户可以清晰地看到与每个联系人的交流历史,方便查阅和理解上下文。 2. **查询系统短信**:应用允许用户查询系统中的...
气泡短信是iOS系统中一种常见的对话界面设计,以气泡的形式展示聊天内容,使用户在视觉上能清晰地分辨出发送者和接收者的消息。DEMO则意味着这是一个可以运行和展示的示例程序,用于演示如何在Android应用中实现类似...
- `android.app.DatePickerDialog`和`android.app.TimePickerDialog`:基于原生`DatePicker`和`TimePicker`的对话框类,方便在活动中弹出选择器。 - `androidx.appcompat.widget.DatePickerCompat`和`androidx....
在Android开发中,`Dialog`是一种非常常见的组件,它用于在主界面之上显示临时的、半透明的窗口,用于向用户展示信息或者...通过这种方式,我们可以创建一个形式多变且具有吸引力的进度对话框,提高用户的交互体验。
5. **尺寸规范**:不同类型的图标(如启动器、菜单、状态栏、标签、对话和列表视图)有不同的尺寸要求。例如,启动器图标的标准尺寸为36x36像素(ldpi)、48x48像素(mdpi)和72x72像素(hdpi)。设计师需要按照这些...
5. **用户界面设计**: 应用的用户界面(UI)设计至关重要,涉及到布局管理器如LinearLayout、RelativeLayout或ConstraintLayout,以及各种UI组件如ListView、RecyclerView等用于显示短信列表。此外,还需要考虑对话框...
ListView是Android中显示大量数据的重要控件,它能够以列表形式展示数据。使用ListView时,通常会结合Adapter进行数据绑定,Adapter负责将数据转化为ListView可显示的View。常见的Adapter有ArrayAdapter、...
`ConversationListItemData.java`是对话列表项的数据结构,包含对话列表显示所需的信息。`ConversationList.java`作为对话列表的Activity,展示并管理所有对话。`ComposeMessageActivity.java`是核心的编辑活动,...
在Android系统中,短信管理是一项重要的功能,它涉及到用户的日常通信和隐私保护。"android 短信管理"这个主题涵盖了如何在Android应用中实现对短信的增删查改操作,以及如何处理短信相关的事件。这里我们将深入探讨...
本示例源程序提供了关于Android进度条对话框的实现,特别是如何根据操作阶段改变其显示形式。 首先,让我们了解Android中的两种主要进度条类型: 1. **水平进度条(Horizontal ProgressBar)**:它通常显示为一个...
在Android平台上,短信过滤是一个重要的功能,它可以帮助用户筛选并阻止不必要的或潜在的垃圾短信。本文将深入探讨如何实现这样一个Android短信过滤程序,包括按号码的前缀匹配以及后台运行的实现。 首先,我们需要...