常见android中的style

自定义对话框设置style

  <style name="TipsDialog" parent="@android:Theme.Dialog">
        <item name="android:windowFrame">@null</item>
        <item name="android:windowFullscreen">true</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowIsTranslucent">false</item>
        <item name="android:windowBackground">@null</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowContentOverlay">@null</item>
    </style>
  <style name="myDialogTheme" parent="android:Theme.Dialog">
        <item name="android:windowFrame">@null</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowIsTranslucent">false</item>
        <item name="android:windowNoTitle">true</item><!--除去title-->
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:backgroundDimEnabled">false</item>
        <item name="android:windowBackground">@null</item><!--除去背景色-->

一般我们将一些公共属性抽象出来做为一个个style,在xml中直接引用style即可,既减少了代码而且在style发生变化的时候一处改变所引用的地方均变化

    <style name="layout_match_parent">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">match_parent</item>
    </style>

    <style name="layout_wrap_content">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
    </style>

    <style name="layout_weight_horizontal">
        <item name="android:layout_width">0dip</item>
        <item name="android:layout_height">match_parent</item>
    </style>

    <style name="layout_weight_vertical">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">0dip</item>
    </style>

具体使用方式:例如我们需要自定义一个dialog,不需要dialog的title代码如下:

/**
 * 图片放大dialog
 *
 * @author jone
 *
 *         2014年5月13日 com.tiza.tree.xingchang_line.widget
 *
 */
public class ImageDialog extends Dialog implements
		android.view.View.OnClickListener {

	public ImageDialog(Context context, int theme) {
		super(context, theme);
	}

	ImageView imageView;
	Button repeatButton;
	Button cancleButton;
	View rootView;
	LayoutInflater inflater;

	public static final int POSITIVE = 1;

	public static final int NEGATIVE = 2;

	public ImageDialog(Context context) {
		//调用自定义的style,用来去掉dialog默认的title
		this(context, R.style.MyDialog);
		inflater = LayoutInflater.from(context);
		init();
		wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
		dm = new DisplayMetrics();
		wm.getDefaultDisplay().getMetrics(dm);
		screenWidth = dm.widthPixels;
		screenHeight = dm.heightPixels;
		Log.i("tag", screenHeight+":"+screenHeight);
	}

	public Button getRightButton(){
		return repeatButton;
	}

	private void init() {
		rootView = inflater.inflate(R.layout.xc_img_dialog, null);
		setContentView(rootView);
		imageView = (ImageView) rootView.findViewById(R.id.xc_big_img_);
		repeatButton = (Button) rootView.findViewById(R.id.xc_big_left);
		cancleButton = (Button) rootView.findViewById(R.id.xc_big_right);
		repeatButton.setOnClickListener(this);
		cancleButton.setOnClickListener(this);
	}

	public void setImageView(BitmapDrawable drawable) {
		imageView.setImageDrawable(drawable);
	}

	public void setDialogLayoutParamtrs(){
		LayoutParams params = new LayoutParams(screenWidth-20, screenHeight-200);
		params.setMargins(10, 25, 10, 10);
		imageView.setLayoutParams(params);
	}

	public interface ImageListener {
		public void onButtonClick(int id);
	}

	public ImageListener listener;
	private DisplayMetrics dm;
	private WindowManager wm;
	private int screenWidth;
	private int screenHeight;

	public void setImageListener(ImageListener listener) {
		this.listener = listener;
	}

	@Override
	public void onClick(View v) {

		switch (v.getId()) {
		case R.id.xc_big_left:
			if (listener != null) {
				listener.onButtonClick(POSITIVE);
			}
			break;
		case R.id.xc_big_right:
			if (listener != null) {
				listener.onButtonClick(NEGATIVE);
			}
			break;
		default:
			break;
		}
	}

常见android中的style

时间: 2024-10-15 11:36:16

常见android中的style的相关文章

Android中的style相关属性

android中的style属性值 Android平台定义的主题样式: android:theme="@android:style/Theme.Dialog" // 将一个Activity显示为对话框模式 android:theme="@android:style/Theme.NoTitleBar" // 不显示应用程序标题栏 android:theme="@android:style/Theme.NoTitleBar.Fullscreen" /

Android 中常见控件的介绍和使用

1 TextView文本框 1.1 TextView类的结构 TextView 是用于显示字符串的组件,对于用户来说就是屏幕中一块用于显示文本的区域.TextView类的层次关系如下: java.lang.Object   ? android.view.View   ? android.widget.TextView 直接子类: Button, CheckedTextView, Chronometer, DigitalClock, EditText 间接子类: AutoCompleteTextV

Android中常见Intent习惯用法-上篇(附源码下载)

Android中的Intent是一个非常重要的类,如果对Intent不是特别了解,可以参见博文<Android中Intent概述及使用>.如果对Intent Filter不是特别了解,可以参见博文<Android中Intent对象与Intent Filter过滤匹配过程详解>. 本文着重讲一下Android中一些常见的Intent的习惯用法,比如如何通过Intent发送短信.发送邮件.启动摄像机拍照录视频.设置闹铃.打开WIFI设置界面等等. 限于篇幅,本博文分为上下两篇,这是上篇

无废话Android之常见adb指令、电话拨号器、点击事件的4种写法、短信发送器、Android 中各种布局(1)

1.Android是什么 手机设备的软件栈,包括一个完整的操作系统.中间件.关键的应用程序,底层是linux内核,安全管理.内存管理.进程管理.电源管理.硬件驱动 2.Dalvik VM 和 JVM 的比较 3.常见adb指令 platform-tools/adb.exe adb.exe : android debug bridge android调试桥 adb devices:列出所以连接的设备 adb kill-server :杀死adb调试桥 adb start-server :启动adb

Android中theme.xml与style.xml的区别

一.相同点 两者的定义相同.继承方式也相同 <?xml version="1.0" encoding="utf-8"?> <resources> <!-- 继承方式 1.parent 通过parent属性用来继承Android已经定义好的style 比如:parent="android:Theme.Dialog" 或 parent="@android:style/Theme.Dialog" 2.继

如何在android中利用Theme设置application 的所有listview的style?~

今天看VLC的源代码,发现一个很神奇的东西 所有listview的点击效果背景色都是橘黄色 花了点时间找了一下看看怎么实现的. 首先,定义一个<selector> like this: <selector> <item android:state_pressed="true"> <shape android:shape="rectangle"> <solid android:color="@color/

android 中theme.xml与style.xml的区别

from://http://liangoogle.iteye.com/blog/1848448 android 中theme.xml与style.xml的区别: 相同点: 两者的定义相同. <resources> <stylename="theme"parent="android:Theme.Black"> <itemname="android:windowNoTitle">true< /item>

Android开发面试经——4.常见Android进阶笔试题(更新中...)

Android开发(29)  版权声明:本文为寻梦-finddreams原创文章,请关注:http://blog.csdn.net/finddreams 关注finddreams博客:http://blog.csdn.net/finddreams/article/details/44301359 上一篇文章我们已经了解了Android笔试的一些基础题目, [<Android开发面试经——2.常见Android基础笔试题> ] (http://blog.csdn.net/finddreams/a

[整理]android中几种常见的尺寸

获取屏幕宽高尺寸的三种代码形式 在Android上,目前我知道的获取屏幕尺寸的方法有三种不同的代码形式 方法1.在Activity中最常见的调用方式 WindowManager windowManager = getWindowManager(); Display display = windowManager.getDefaultDisplay(); int screenWidth = display.getWidth(); int screenHeight = display.getHeig