看到一本电子杂志上有遮罩层的效果,感觉很漂亮,以为很麻烦,搜索了很多关于android遮罩层的,也没有得出一点思路,原来就是一个透明的效果,然后上面弹出的控件是透明或者半透明之类的,可以选择颜色,还是#ARBG,其中A就是传说中的透明色的值(可以根据需要设置透明的效果),废话不多说了,发一个简单的Demo吧,是我山寨的那本杂志的效果:(由于杂志内容主要是图片,弹出层才是给出的文字信息,所以我猜测是用Gallery显示的杂志内容)
xml布局文件:
01
<?xml version="1.0" encoding="utf-8"?>
02
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
03
android:id="@+id/layout"
04
android:layout_width="fill_parent"
05
android:layout_height="fill_parent"
06
>
07
<Gallery
08
android:id="@+id/showGallery"
09
android:layout_width="fill_parent"
10
android:layout_height="fill_parent"
11
android:spacing="0dip"
12
/>
13
<RelativeLayout
14
android:orientation="horizontal"
15
android:layout_width="fill_parent"
16
android:layout_height="wrap_content"
17
android:layout_gravity="bottom"
18
android:background="#86222222"
19
>
20
<TextView
21
android:id="@+id/titleTextView"
22
android:layout_width="wrap_content"
23
android:layout_height="wrap_content"
24
android:layout_toRightOf="@id/secondKillButton"
25
android:textColor="#ff0000"
26
/>
27
<Button
28
android:id="@+id/unfoldButton"
29
android:layout_width="wrap_content"
30
android:layout_height="wrap_content"
31
android:layout_alignParentRight="true"
32
android:text="展开"
33
/>
34
</RelativeLayout>
35
</FrameLayout>
主要的代码也很简单,还有一个简单的Adapter,有不理解的朋友可以看我之前的blog
001
package oneRain.UpMagazine;
002
003
import java.io.File;
004
import java.util.ArrayList;
005
import java.util.List;
006
007
import android.app.Activity;
008
import android.graphics.Bitmap;
009
import android.graphics.BitmapFactory;
010
import android.graphics.Color;
011
import android.os.Bundle;
012
import android.view.Gravity;
013
import android.view.View;
014
import android.view.View.OnClickListener;
015
import android.view.ViewGroup;
016
import android.view.Window;
017
import android.widget.AdapterView;
018
import android.widget.AdapterView.OnItemSelectedListener;
019
import android.widget.BaseAdapter;
020
import android.widget.Button;
021
import android.widget.FrameLayout;
022
import android.widget.Gallery;
023
import android.widget.ImageView;
024
import android.widget.TextView;
025
026
public class ShowActivity extends Activity
027
{
028
private int i = 1;
029
private int pos = 0;
030
private List<String> contents = null;
031
private static final String DIR = "/mnt/sdcard/UpMagazine/2010/content/";
032
033
//设置是否展开
034
private boolean isFolded = true;
035
036
//设置控件
037
private FrameLayout layout = null;
038
private Gallery showGallery = null;
039
private Button unfoldButton = null;
040
private TextView textView = null;
041
private TextView titleTextView = null;
042
043
public void onCreate(Bundle savedInstanceState)
044
{
045
super.onCreate(savedInstanceState);
046
requestWindowFeature(Window.FEATURE_NO_TITLE);
047
setContentView(R.layout.show);
048
049
initView();
050
}
051
052
@Override
053
protected void onResume()
054
{
055
// TODO Auto-generated method stu
056
super.onResume();
057
058
isFolded = true;
059
}
060
061
//初始化
062
private void initView()
063
{
064
065
contents = new ArrayList<String>();
066
067
File dir = new File(DIR);
068
File[] files = dir.listFiles();
069
070
for(int i=0; i<files.length; i++)
071
{
072
contents.add(DIR + files[i].getName());
073
}
074
075
layout = (FrameLayout)findViewById(R.id.layout);
076
077
unfoldButton = (Button)findViewById(R.id.unfoldButton);
078
unfoldButton.setOnClickListener(new UnfoldClickListener());
079
080
showGallery = (Gallery)findViewById(R.id.showGallery);
081
showGallery.setOnItemSelectedListener(new GalleryOnItemSelectedListener());
082
showGallery.setAdapter(new ShowAdapter());
083
084
titleTextView = (TextView)findViewById(R.id.titleTextView);
085
}
086
087
//滑动监听
088
private class GalleryOnItemSelectedListener implements OnItemSelectedListener
089
{
090
091
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
092
long arg3)
093
{
094
// TODO Auto-generated method stub
095
pos = arg2 + 1;
096
097
titleTextView.setText("第" + pos +"个主题");
098
}
099
100
public void onNothingSelected(AdapterView<?> arg0)
101
{
102
// TODO Auto-generated method stub
103
104
}
105
106
}
107
108
//按钮监听,展开一个透明的显示文本的遮挡层
109
private class UnfoldClickListener implements OnClickListener
110
{
111
public void onClick(View v)
112
{
113
if(isFolded)
114
{
115
textView = new TextView(ShowActivity.this);
116
117
textView.setTextColor(Color.BLUE);
118
textView.setTextSize(20);
119
textView.setText("滚滚长江东逝水,浪花淘尽英雄。
120
" +
121
"是非成败转头空,
122
" +
123
"青山依旧在,几度夕阳红。
124
" +
125
"白发渔樵江渚上,惯看秋月春风。
126
" +
127
"一壶浊酒喜相逢,
128
" +
129
"古今多少事,都付笑谈中。");
130
textView.setGravity(Gravity.CENTER);
131
textView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,
132
ViewGroup.LayoutParams.FILL_PARENT));
133
textView.setBackgroundColor(Color.parseColor("#86222222"));
134
135
unfoldButton.setText("收回");
136
yxkfw
- 粉丝: 81
- 资源: 2万+
最新资源
- 技术资料分享wav音频格式很好的技术资料.zip
- 技术资料分享WAV文件格式分析与应用很好的技术资料.zip
- 技术资料分享wav文件格式分析详解很好的技术资料.zip
- 技术资料分享VS1053-cn很好的技术资料.zip
- 技术资料分享VS1003-cn很好的技术资料.zip
- 技术资料分享UM0424-STM32F10xxx-USB-development-kit-en很好的技术资料.zip
- 网络管理与维护:Windows故障转移群集实现高可用文件服务器实训指南
- 技术资料分享uip在单片机上的移植精讲很好的技术资料.zip
- 技术资料分享uip-中文资料很好的技术资料.zip
- 技术资料分享ucos教程很好的技术资料.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈