zoukankan      html  css  js  c++  java
  • 【Android】Activity遮罩效果的实现

    Activity文件

    package com.app.test02;
    
    import android.app.Activity;
    import android.graphics.Color;
    import android.os.Bundle;
    import android.view.Gravity;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.view.ViewGroup;
    import android.view.Window;
    import android.widget.Button;
    import android.widget.FrameLayout;
    import android.widget.TextView;
    
    
    public class ShadeActivity extends Activity {
    	// 设置是否展开
    	private boolean isFolded = true;
    	// 设置控件
    	private FrameLayout layout = null;
    	private Button unfoldButton = null;
    	private TextView textView = null;
    
    	public void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		requestWindowFeature(Window.FEATURE_NO_TITLE);
    		setContentView(R.layout.activity_shade);
    
    		initView();
    	}
    
    	@Override
    	protected void onResume() {
    		// TODO Auto-generated method stu
    		super.onResume();
    		isFolded = true;
    	}
    
    	// 初始化
    	private void initView() {
    		layout = (FrameLayout) findViewById(R.id.layout);
    		unfoldButton = (Button) findViewById(R.id.unfoldButton);
    		unfoldButton.setOnClickListener(new UnfoldClickListener());
    	}
    
    	// 按钮监听,展开一个透明的显示文本的遮挡层
    	private class UnfoldClickListener implements OnClickListener {
    		public void onClick(View v) {
    			if (isFolded) {
    				textView = new TextView(ShadeActivity.this);
    				textView.setTextColor(Color.BLUE);
    				textView.setTextSize(20);
    				textView.setText("滚滚长江东逝水,浪花淘尽英雄。
    " + "是非成败转头空,
    "
    						+ "青山依旧在,几度夕阳红。
    " + "白发渔樵江渚上,惯看秋月春风。 
    "
    						+ "一壶浊酒喜相逢,
    " + "古今多少事,都付笑谈中。");
    				textView.setGravity(Gravity.CENTER);
    				textView.setLayoutParams(new ViewGroup.LayoutParams(
    						ViewGroup.LayoutParams.FILL_PARENT,
    						ViewGroup.LayoutParams.FILL_PARENT));
    				textView.setBackgroundColor(Color.parseColor("#86222222"));
    
    				unfoldButton.setText("取消遮罩");
    
    				isFolded = false;
    
    				layout.addView(textView);
    			} else {
    				unfoldButton.setText("显示遮罩");
    				isFolded = true;
    				layout.removeView(textView);
    			}
    		}
    	}
    }

    XML布局文件

    <?xml version="1.0" encoding="utf-8"?>
    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/layout"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" 
        android:background="#fff">
    
        <Gallery
            android:id="@+id/showGallery"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:spacing="0dip" />
    
        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:background="#86222222"
            android:orientation="horizontal" >
    
            <TextView
                android:id="@+id/titleTextView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="遮罩效果"
                android:textColor="#ff0000" />
    
            <Button
                android:id="@+id/unfoldButton"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:text="显示遮罩" />
        </RelativeLayout>
    
    </FrameLayout>

    效果图


  • 相关阅读:
    [转载]Linux下mail使用技巧
    VTK Online教程大全
    拓扑结构与TopoDS
    三维视图变换与相机模型
    说说DoDataExchange(CDataExchange* pDX)
    Lua Lib在VC下的编译
    建立最简单的OpenCASCADE程序
    构建通用类型 继承 VS 聚合
    【软件】新瓶装老酒 MyCapture
    用std::find查找文件流中的内容
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3367715.html
Copyright © 2011-2022 走看看