Dialog(八)——改变系统自带Dialog字体大小(ContextThemeWrapper)

MainActivity如下:

package c.c.testdialog;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.ContextThemeWrapper;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
/**
 * Demo描述:
 * 改变系统对话框中的字体大小
 * 方法:
 * 0 将一个style的parent设置为@android:style/Theme.Dialog
 *   修改其中的 <item name="android:textSize">30sp</item>
 *   这种方式很类似于子类覆盖父类方法
 * 1 利用context和该style生成ContextThemeWrapper
 * 2 利用ContextThemeWrapper生产Builder对象
 */
public class MainActivity extends Activity {
   private Button mButton;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		init();
	}
	private void init(){
		mButton=(Button) findViewById(R.id.button);
		mButton.setOnClickListener(new ClickListenerImpl());
	}
	private class ClickListenerImpl implements OnClickListener {
		@Override
		public void onClick(View v) {
			switch (v.getId()) {
			case R.id.button:
				// 弹出自定义对话框
				showDialog();
				break;
			default:
				break;
			}

		}
	}
	private void showDialog(){
		Dialog dialog = null;
		ContextThemeWrapper contextThemeWrapper =
		new ContextThemeWrapper(MainActivity.this, R.style.dialog);
		Builder builder =  new AlertDialog.Builder(contextThemeWrapper);
		builder.setItems(R.array.share_array,
				new DialogInterface.OnClickListener() {
					@Override
					public void onClick(DialogInterface dialog, int which) {
						switch (which) {
						case 0:
							System.out.println("----->发送邮件");
							break;
						case 1:
							System.out.println("----->分享到FaceBook");
							break;
						case 2:
							System.out.println("----->分享到Twitter");
							break;
						default:
							break;
						}
					}
				});
		dialog = builder.create();
		dialog.show();
	}
}

arrays.xml如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="share_array">
        <item>发送邮件</item>
        <item>分享到FaceBook</item>
        <item>分享到Twitter</item>
    </string-array>
</resources>

styles.xml如下:

<resources>

    <style name="AppBaseTheme" parent="android:Theme.Light"></style>

    <style name="AppTheme" parent="AppBaseTheme"></style>

    <style name="dialog" parent="@android:style/Theme.Dialog">
        <item name="android:textSize">30sp</item>
    </style>

</resources>
时间: 2024-12-22 16:10:54

Dialog(八)——改变系统自带Dialog字体大小(ContextThemeWrapper)的相关文章

Spinner(一)——修改系统自带Spinner字体大小和颜色完整示例

MainActivity如下: package cc.test; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Spinner; import android.widget.AdapterView.

Android改变系统自带环形ProgressBar的大小

MainActivity如下: package cc.testprogressbar; import android.os.Bundle; import android.app.Activity; /** * Demo描述: * 改变系统自带环形ProgressBar的大小 * * 改变方式: * 为ProgressBar设置一个style即可 * 参见styles.xml * */ public class MainActivity extends Activity { @Override p

ProgressDialog(四)——改变系统自带ProgressDialog的文字大小

MainActivity如下: package com.example.ttt; import android.app.Activity; import android.app.ProgressDialog; import android.os.Bundle; import android.view.Window; /** * Demo描述: * 改变系统自带ProgressDialog的文字大小 * * 改变方式: * 为ProgressDialog设置一个style即可 * 参见styles

Win8系统怎么更改标题栏字体大小和颜色?

  Win8系统怎么更改标题栏字体大小和颜色?          1.按下"Win+X"组合键呼出系统快捷菜单,点控制面板; 2.在控制面板点击"外观和个性化"; 3.选择"显示"选项; 4.把"让我选择一个适合我的所有显示器的缩放级别"取消打钩,然后汇能下下方的下拉菜单中选择需要修改字体的位置了.

windowsXP系统如何改变桌面图标下的字体大小

电脑上的图标有时候感觉太小了,看的不舒服,我们该如何把图标调大,已满足我们的需求. 这里给大家分享一下: 方法/步骤 1 桌面右击属性:如图 2 在显示属性里面选择外观选项:如图 3 在外观菜单下我们选择高级:如图 4 在高级外观设置点击项目:如图 5 我们在项目里找到图标选项:如图 6 我们改变图标大小,这里我将图标改为43:如图 7 效果对比:如图

Win7如何删除系统自带字体?Win7删除系统自带字体文件的方法

Win7如何删除系统自带字体?我们使用的Win7系统通常会自带多种字体,用户可以选择使用自己喜欢的字体.但有些字体难看,用户不太喜欢,这时候可以将这些字体文件进行删除,以节省系统空间.下面小编就给大家带来Win7删除系统自带字体文件的方法,一起来看看吧. 步骤: 1.我们点击开始菜单,找到控制面板选项,并点击进入控制面板: 2.点击如图所示的类别选项,选择大图标: 3.在底部我们可以看到字体这个选项,点击进入: 4.我们可以看到系统已经安装了很多的字体文件,可以选中然后将它删除. 上面就是Win

jquery更换文章内容与改变字体大小代码_jquery

复制代码 代码如下: <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> <script language="javascript教程" src="到jquery官网下载jquery文件.js"></script>

jquery 文章内容字体大小更换与改变代码

jquery 文章内容字体大小更换与改变代码 <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> <script language="javascript教程" src="到jquery官网下载jquery文件.js">&l

Mac怎么调节字体大小

  OS X系统是无法调节字体大小的,尤其是10.9,但有一个折中的方法--调节分辨率.打开系统偏好设置,选择显示器,缩放,调节分辨率即可.(有一个弊端是字体会变模糊) 方法二:打开系统与偏好设置,触控板,滚动缩放,勾选放大与缩小. 即可在用Safari浏览网站时使用手势缩放页面.P.S:其他浏览器可用command加+来实现缩放.