展会信息港展会大全

仿iReader-按menu键弹出PopupWindow布局界面
来源:互联网   发布日期:2015-10-03 11:31:08   浏览:2183次  

导读:仿iReader-按menu键弹出PopupWindow布局界面package com.lectek.android.read.ui;import com.lectek.android.read.adapter.GridViewAdapter;import android.R.integer;import android.app.Activity;import ......

仿iReader-按menu键弹出PopupWindow布局界面

package com.lectek.android.read.ui;

import com.lectek.android.read.adapter.GridViewAdapter;

import android.R.integer;

import android.app.Activity;

import android.content.Context;

import android.os.Bundle;

import android.view.Gravity;

import android.view.LayoutInflater;

import android.view.Menu;

import android.view.View;

import android.view.Window;

import android.view.WindowManager;

import android.view.ViewGroup.LayoutParams;

import android.widget.GridView;

import android.widget.ImageView;

import android.widget.PopupWindow;

import android.widget.ProgressBar;

import android.widget.SeekBar;

import android.widget.TextView;

/**

* 显示PopupWindow

* @author zlf

*更新时间:2012-3-13

*/

public class ReadPopupWindowActivity extends Activity {

private PopupWindow popupWindow;

private TextView mTextView;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

//全屏显示

//getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,

//WindowManager.LayoutParams.FLAG_FULLSCREEN);

//隐藏标题栏

requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.main);

}

/**

* 按返回键的相关处理

*/

@Override

public void onBackPressed() {

if(popupWindow.isShowing()){

popupWindow.dismiss();

}

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

initPopupWindow();

return true;

}

/**

* 弹出PopupWindow

*/

public void initPopupWindow(){

//加载PopupWindow的布局文件

LayoutInflater layoutInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);

View view = layoutInflater.inflate(R.layout.popup, null);

//加载PopupWindow的媒介布局文件

View parentView = layoutInflater.inflate(R.layout.main, null);

//实例化PopupWindow中的组件

TextView titleTextView = (TextView)view.findViewById(R.id.popup_title);

ImageView editImg = (ImageView)view.findViewById(R.id.popup_edit);

ImageView listenImg = (ImageView)view.findViewById(R.id.popup_listen);

SeekBar seekBar = (SeekBar)view.findViewById(R.id.popup_progress);

TextView progressTextView = (TextView)view.findViewById(R.id.popup_progress_tv);

GridView gridView = (GridView)view.findViewById(R.id.popup_grid);

GridViewAdapter adapter = new GridViewAdapter(this, mPictures, mTitles);

gridView.setAdapter(adapter);

//声明并实例化PopupWindow

popupWindow = new PopupWindow(view, LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);

//为PopupWindow设置弹出的位置

//popupWindow.showAsDropDown(parentView);

popupWindow.showAtLocation(parentView, Gravity.TOP, 0, 0);

}

/**

* 图片资源

*/

private int[] mPictures = {R.drawable.v, R.drawable.p, R.drawable.v,

R.drawable.p, R.drawable.v, R.drawable.p, R.drawable.v, R.drawable.p,};

/**

* 文字资源

*/

private String[] mTitles = {"目录、书签", "字体大小", "亮度调节", "阅读背景",

"赠送", "评论", "分享", "更多设置"};

}

package com.lectek.android.read.adapter;

import com.lectek.android.read.ui.R;

import android.content.ContentValues;

import android.content.Context;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.ImageView;

import android.widget.TextView;

/**

* GridView的适配器

* @author zlf

*更新时间2012-3-13

*/

public class GridViewAdapter extends BaseAdapter {

private Context mContext;

private LayoutInflater mInflater;

private int[] mPictures;

private String[] mTitles;

public GridViewAdapter(Context context, int[] pictures, String[] titles){

this.mContext = context;

this.mPictures = pictures;

this.mTitles = titles;

mInflater = LayoutInflater.from(context);

}

@Override

public int getCount() {

return mPictures.length;

}

@Override

public Object getItem(int position) {

return null;

}

@Override

public long getItemId(int position) {

return position;

}

@Override

public View getView(int position, View convertView, ViewGroup parent) {

ViewHolder viewHolder = null;

int picture = mPictures[position];

String title = mTitles[position];

if(convertView == null){

viewHolder = new ViewHolder();

convertView = mInflater.inflate(R.layout.grid, null);

viewHolder.imageView = (ImageView)convertView.findViewById(R.id.grid_img);

viewHolder.textView = (TextView)convertView.findViewById(R.id.grid_tv);

convertView.setTag(viewHolder);

}else{

viewHolder = (ViewHolder)convertView.getTag();

}

viewHolder.imageView.setBackgroundResource(picture);

viewHolder.textView.setText(title);

return convertView;

}

private final class ViewHolder{

public ImageView imageView;

public TextView textView;

}

}

popup.xml布局文件

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical" >

<LinearLayout

android:id="@+id/popup_title_layout"

android:layout_width="fill_parent"

android:layout_height="0dip"

android:layout_weight="2"

android:orientation="horizontal"

android:background="#e0000000">

<TextView

android:layout_width="0dip"

android:layout_height="wrap_content"

android:layout_weight="1"/>

<TextView

android:id="@+id/popup_title"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_weight="4"

android:text="@string/main_title_word_tv"/>

<ImageView

android:id="@+id/popup_edit"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:background="@drawable/add"

android:layout_weight="1"/>

<ImageView

android:id="@+id/popup_listen"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_weight="1"

android:background="@drawable/listen"/>

</LinearLayout>

<LinearLayout

android:id="@+id/popup_content_layout"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:layout_weight="8"

android:background="#00000000">

<TextView

android:id="@+id/popup_content"

android:layout_width="fill_parent"

android:layout_height="360dip"/>

</LinearLayout>

<LinearLayout

android:id="@+id/popup_bottom"

android:layout_width="fill_parent"

android:layout_height="0dip"

android:orientation="vertical"

android:background="#e0000000"

android:layout_weight="6">

<LinearLayout

android:id="@+id/popup_progress_layout"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_marginTop="5dip"

android:orientation="horizontal"

android:layout_weight="4">

<SeekBar

android:id="@+id/popup_progress"

android:layout_width="7dip"

android:layout_height="18dip"

android:layout_marginLeft="10dip"

android:layout_weight="2"

android:progressDrawable="@drawable/seekbar_style"

android:max="100"

android:progress="30"/>

<TextView

android:layout_width="0dip"

android:layout_height="wrap_content"

android:layout_weight="1"/>

<TextView

android:id="@+id/popup_progress_tv"

android:layout_width="0dip"

android:layout_height="wrap_content"

android:layout_weight="1"

android:text="@string/popup_progress_page"/>

</LinearLayout>

<GridView

android:id="@+id/popup_grid"

android:layout_width="fill_parent"

android:layout_height="100dip"

android:gravity="center"

android:numColumns="4"

android:layout_weight="4"></GridView>

</LinearLayout>

</LinearLayout>

grid.xml布局文件

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical"

android:background="@drawable/grid_shape">

<ImageView

android:id="@+id/grid_img"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:background="@drawable/v"/>

<TextView

android:id="@+id/grid_tv"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="目录、书签"

android:layout_gravity="center"

android:textSize="12dip"/>

</LinearLayout>

赞助本站

人工智能实验室

相关热词: PopupWindow

AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港