当前位置:文档之家› android自定义弹出层

android自定义弹出层

android自定义弹出层
android自定义弹出层

Android系统的AlertDailog ,Menu。。。之类控件,我不确定能否自定义样式。就是在应用中自定义一套主题。

因为系统Menu菜单极其单一。样式丑陋,而且字体,字号都无法修改。想到用PopupWindow来实现。PopupWindow 其实是一个 Activity 但是消耗的系统资源没有Activity那么大。是一个小型的UI线程(可以这么理解吧)。

主体代码

01//长按弹出菜单

02public void showTopWindow(){

03 if(mPopupWindow==null);{

04 inintTopWindow();

05 }

06

07 mPopupWindow.showAtLocation(findViewById(R.id.full_main), Gravity.CENTER|Gravity.CENTER, 0, 0);

08

09}

10// 长按弹出层

11public void inintTopWindow(){ 12

1 3 LayoutInflater mLayoutInflater = (LayoutInflater) (FullScreenLineActivity.this).getSystemService(LAYOUT_INFLATER_SER VICE);

1 4 View

topWindow=mLayoutInflater.inflate(https://www.doczj.com/doc/f114080959.html,yout.k_line_top_window_layou t, null);

1 5 mPopupWindow=new

PopupWindow(topWindow,LayoutParams.FILL_PARENT,LayoutParams.FILL_P ARENT);

16 mPopupWindow.setOutsideTouchable(false);

17 topWindow.findViewById(R.id.f10info).setOnClickListener(new View.OnClickListener() {

18

19 @Override

20 public void onClick(View v) {

21 // TODO Auto-generated method stub

22。。。

23 }

24 });

25}

PopupWindow的布局可以自定义xml 。弹出的PopupWindow 是在Activity上层的。所以即使弹出了PopupWindow,下层的Activity没有被遮盖的部分依然有之前的所有监听。例如我上图中,的触摸滑动事件。按钮事件都依然存在。

为了能够像AlertDialog那样,弹出后。下面的视图,显示为暗色,不能做任何操作。

设置PopupWindow 布局为布满整个屏幕,中间是并列的5个按钮。外围暗黑色的,其实是一个半透明的背景。

将PopupWindow设置为整个屏幕大小,外围半透明。效果与AlertDialog相当。

android 自定义圆角头像以及使用declare-styleable进行配置属性解析

android 自定义圆角头像以及使用declare-styleable进行配置属性解析由于最新项目中正在检查UI是否与效果图匹配,结果关于联系人模块给的默认图片是四角稍带弧度的圆角,而我们截取的图片是正方形的,现在要给应用统一替换。应用中既用到大圆角头像(即整个头像是圆的)又用到四角稍带弧度的圆角头像,封装一下以便重用。以下直接见代码 [java] view plain copy 在CODE上查看代码片派生到我的代码片 package com.test.demo; import com.test.demo.R; import android.content.Context; import android.content.res.TypedArray; import android.graphics.Bitmap; import android.graphics.BitmapShader; import android.graphics.Canvas; import android.graphics.Matrix; import android.graphics.Paint; import android.graphics.RectF; import android.graphics.Shader.TileMode; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.Parcelable; import android.util.AttributeSet; import android.util.Log; import android.util.TypedValue; import android.widget.ImageView; /** * 圆角imageview */ public class RoundImageView extends ImageView { private static final String TAG = "RoundImageView"; /** * 图片的类型,圆形or圆角 */ private int type; public static final int TYPE_CIRCLE = 0; public static final int TYPE_ROUND = 1; /** * 圆角大小的默认值

Android开发规范参考文档

Android开发参考文档 一、Android编码规范 1. java代码中不出现中文,最多注释中可以出现中文.xml代码中注释 2. 成员变量,局部变量、静态成员变量命名、常量(宏)命名 1). 成员变量: activity中的成员变量以m开头,后面的单词首字母大写(如Button mBackButton; String mName);实体类和自定义View的成员变量可以不以m开头(如ImageView imageView,String name), 2). 局部变量命名:只能包含字母,组合变量单词首字母出第一个外,都为大写,其他字母都为小写 3). 常量(宏)命名: 只能包含字母和_,字母全部大写,单词之间用_隔开UMENG_APP_KEY 3. Application命名 项目名称+App,如SlimApp,里面可以存放全局变量,但是杜绝存放过大的实体对象4. activity和其中的view变量命名 activity命名模式为:逻辑名称+Activity view命名模式为:逻辑名称+View 建议:如果layout文件很复杂,建议将layout分成多个模块,每个模块定义一个moduleViewHolder,其成员变量包含所属view 5. layout及其id命名规则 layout命名模式:activity_逻辑名称,或者把对应的activity的名字用“_”把单词分开。

命名模式为:view缩写_模块名称_view的逻辑名称, 用单词首字母进行缩写 view的缩写详情如下 LayoutView:lv RelativeView:rv TextView:tv ImageView:iv ImageButton:ib Button:btn 6. strings.xml中的 1). id命名模式: activity名称_功能模块名称_逻辑名称/activity名称_逻辑名称/common_逻辑名称,strings.xml中,使用activity名称注释,将文件内容区分开来 2). strings.xml中使用%1$s实现字符串的通配,合起来写 7. drawable中的图片命名 命名模式:activity名称_逻辑名称/common_逻辑名称/ic_逻辑名称 (逻辑名称: 这是一个什么样的图片,展示功能是什么) 8. styles.xml 将layout中不断重现的style提炼出通用的style通用组件,放到styles.xml中; 9. 使用layer-list和selector,主要是View onCclick onTouch等事件界面反映

Android平台我的日记设计文档

Android平台我的日记 设计文档 项目名称:mydiray 项目结构示意: 阶段任务名称(一)布局的设计 开始时间: 结束时间: 设计者: 梁凌旭 一、本次任务完成的功能 1、各控件的显示 二、最终功能及效果 三、涉及知识点介绍 四、代码设计 activity_main.xml:

android:layout_centerHorizontal="true" android:layout_marginTop="88dp" android:text="@string/wo" android:textSize="35sp"/>

相关文档 最新文档