package com.lnb.dialog;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MotionEvent;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.AdapterView;
import android.widget.GridView;
/**
* Corpus selection dialog.
*/
public class CorpusSelectionDialog extends Dialog {
private static final int NUM_COLUMNS = 4;
private GridView mCorpusGrid;
private OnCorpusSelectedListener mListener;
protected CorporaAdapter mAdapter;
public CorpusSelectionDialog(Context context, int theme) {
super(context, theme);
}
/**
* Shows the corpus selection dialog.
*
* @param corpus The currently selected corpus.
*/
public void show(Corpus corpus) {
show();
}
public void setOnCorpusSelectedListener(OnCorpusSelectedListener listener) {
mListener = listener;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
mCorpusGrid = (GridView) findViewById(R.id.corpus_grid);
mCorpusGrid.setNumColumns(NUM_COLUMNS);
mCorpusGrid.setOnItemClickListener(new CorpusClickListener());
// for some reason, putting this in the XML layout instead makes
// the list items unclickable.
mCorpusGrid.setFocusable(true);
Window window = getWindow();
WindowManager.LayoutParams lp = window.getAttributes();
lp.width = WindowManager.LayoutParams.MATCH_PARENT;
lp.height = WindowManager.LayoutParams.MATCH_PARENT;
// Put window on top of input method
lp.flags |= WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM;
window.setAttributes(lp);
window.setTitle(getContext().getText(R.string.select_category_title));
setTitle(R.string.select_category_title);
}
@Override
protected void onStart() {
super.onStart();
}
@Override
protected void onStop() {
setAdapter(null);
super.onStop();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
return true;
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
// Cancel dialog on any touch down event which is not handled by the corpus grid
cancel();
return true;
}
return false;
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
boolean handled = super.onKeyDown(keyCode, event);
if (handled) {
return handled;
}
// Dismiss dialog on up move when nothing, or an item on the top row, is selected.
if (keyCode == KeyEvent.KEYCODE_DPAD_UP) {
int selectedRow = mCorpusGrid.getSelectedItemPosition() / NUM_COLUMNS;
if (selectedRow <= 0) {
cancel();
return true;
}
}
// Dismiss dialog when typing on hard keyboard (soft keyboard is behind the dialog,
// so that can't be typed on)
if (event.isPrintingKey()) {
cancel();
return true;
}
return false;
}
@Override
public void onBackPressed() {
cancel();
}
protected void setAdapter(CorporaAdapter adapter) {
if (adapter == mAdapter) return;
if (mAdapter != null) mAdapter.close();
mAdapter = adapter;
mCorpusGrid.setAdapter(mAdapter);
}
protected void selectCorpus(Corpus corpus) {
dismiss();
if (mListener != null) {
mListener.onCorpusSelected(corpus);
}
}
private class CorpusClickListener implements AdapterView.OnItemClickListener {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Corpus corpus = (Corpus) parent.getItemAtPosition(position);
selectCorpus(corpus);
}
}
public interface OnCorpusSelectedListener {
void onCorpusSelected(Corpus corpus);
}
public void refreshCorpus(){
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
DialogTest.rar (78个子文件)
DialogTest
.project 846B
bin
DialogTest.apk 67KB
res
drawable-ldpi
ic_launcher.png 2KB
drawable-hdpi
saf_categary_game2.png 4KB
saf_categary_favarite2.png 3KB
ic_launcher.png 4KB
saf_categary_media2.png 3KB
search_app_icon.png 8KB
divider_horizontal_dialog.png 134B
corpus_edit_items_bg_pressed.9.png 353B
saf_categary_tool2.png 5KB
saf_categary_life2.png 4KB
saf_categary_social2.png 3KB
corpus_edit_items_bg_focused.9.png 374B
saf_app_delete.png 1KB
corpus_edit_items_bg_normal.9.png 451B
saf_categary_all2.png 3KB
drawable-mdpi
ic_launcher.png 2KB
resources.ap_ 56KB
classes
com
lnb
dialog
R$string.class 796B
CorpusViewInflater.class 2KB
R$layout.class 509B
CorpusSelectionDialog.class 4KB
MainActivity.class 3KB
R$drawable.class 1KB
CategoryAppDialog$1.class 680B
Util.class 4KB
CorpusSelectionDialog$CorpusClickListener.class 2KB
R$anim.class 404B
R.class 589B
CorporaAdapter.class 3KB
R$style.class 393B
Corpus.class 393B
R$attr.class 328B
CorpusViewFactory.class 426B
MainActivity$1.class 798B
CategoryAppDialog.class 3KB
CorpusSelectionDialog$OnCorpusSelectedListener.class 319B
R$id.class 626B
classes.dex 16KB
proguard.cfg 1KB
AndroidManifest.xml 732B
src
com
lnb
dialog
CorporaAdapter.java 2KB
CategoryAppDialog.java 2KB
CorpusViewInflater.java 1KB
CorpusViewFactory.java 460B
Corpus.java 166B
Util.java 2KB
MainActivity.java 2KB
CorpusSelectionDialog.java 4KB
project.properties 361B
res
values
styles.xml 1KB
strings.xml 680B
layout
corpus_list_item.xml 2KB
corpus_grid_item.xml 2KB
main.xml 435B
corpus_selection_dialog.xml 2KB
drawable-ldpi
ic_launcher.png 2KB
drawable-hdpi
saf_categary_game2.png 6KB
saf_categary_favarite2.png 6KB
ic_launcher.png 4KB
saf_categary_media2.png 6KB
search_app_icon.png 7KB
divider_horizontal_dialog.png 3KB
corpus_edit_items_bg_pressed.9.png 1KB
corpus_grid_item_bg.xml 1KB
saf_categary_tool2.png 8KB
saf_categary_life2.png 6KB
saf_categary_social2.png 6KB
corpus_edit_items_bg_focused.9.png 1KB
corpus_selector_bg.9.png 2KB
saf_app_delete.png 4KB
corpus_edit_items_bg_normal.9.png 463B
saf_categary_all2.png 5KB
anim
grow_from_topleft_to_bottomright.xml 506B
drawable-mdpi
ic_launcher.png 3KB
.classpath 364B
gen
com
lnb
dialog
R.java 3KB
assets
共 78 条
- 1
厂圩菠萝菠萝蜜
- 粉丝: 1088
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 毕业设计基于STM32的测量温度与压力的数据处理设计C语言完整源码+论文.zip
- 基于MATLAB的PCA算法人脸识别项目源码+GUI界面+说明文档.zip
- 基于STM32的测量温度与压力的数据处理设计源码+论文(毕业设计).zip
- Vision Transformer 网络对不同氨气氧气浓度轨迹RAS 图像数据集的分类,包含训练权重和数据集、迁移学习
- 基于C51带字库LCD12864(ST7920)的keil工程源码,只支持8位并口通讯(不支持串口),可显示中文.zip
- 基于SI4463射频模块433MD-SMA无线模块软硬件技术资料及(SI4463)IC技术资料文档.zip
- (GPS+北斗+GSM)HLK-GS2503模块软硬件开发资料包硬件参考设计(原理图PCB)+技术文档资料.zip
- 基于BERT+Biaffine结构的关系抽取模型源码+文档说明.zip
- 利用c语言编写的冒泡排序代码
- 基于Ansoft-HFSS知识总结hfss中文教程HFSS培训教材等技术资料合集(50个).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
前往页