Far*_*har 2 android android-alertdialog
我一直在玩警报对话框.我想显示一个对话框,显示listview中列表项的特定信息.就像android的文件管理器的详细对话框一样.
图片:https://dl.dropbox.com/u/20856352/detailsbox.jpg
有关此详细信息对话框的有趣之处在于,它显示的列表项与首选项屏幕中的首选项非常相似.他们可以点击它们,它们显示了一个非常漂亮的两行项目列表项目.
我需要创建一个类似的对话框,但我不知道如何实现这一目标.我玩了一下.首选项XML不能用作alertdialog的布局.而且我无法开发出类似于上面图片的布局.需要帮助/指南如何实现这一目标.
法拉兹爱资哈尔
您可能不想使用自定义对话框,因为很难复制AlertDialog的外观.AlertDialog可以使用AlertDialog.setListAdapter显示项目列表.您可以使用ListAdapter的自定义实现自定义项目列表,以显示每个项目的两行文本.附带的截图是由下面的代码和xml生成的.

public class Temp extends Activity
{
private String[] listItemsFirstRow = {"item 1", "item 2", "item 3"};
private String[] listItemsSecondRow = {"item 1", "item 2", "item 3"};
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setAdapter(new MyAdapter(), null);
builder.setTitle("Title");
builder.setPositiveButton(android.R.string.ok, new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
builder.show();
}
class MyAdapter extends BaseAdapter
{
@Override
public int getCount()
{
return listItemsFirstRow.length;
}
@Override
public Object getItem(int position)
{
//this isn't great
return listItemsFirstRow[position];
}
@Override
public long getItemId(int position)
{
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
if(convertView == null)
{
convertView = getLayoutInflater().inflate(R.layout.main, null);
}
((TextView)convertView.findViewById(R.id.text1)).setText( listItemsFirstRow[position]);
((TextView)convertView.findViewById(R.id.text2)).setText( listItemsSecondRow[position]);
return convertView;
}
}
}
Run Code Online (Sandbox Code Playgroud)
main.xml中
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:minHeight=![enter image description here][2]"?android:attr/listPreferredItemHeight"
android:orientation="vertical"
android:gravity="center_vertical"
android:paddingLeft="15dip"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="?android:attr/textColorSecondary"
android:id="@+id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3293 次 |
| 最近记录: |