当前位置:  编程技术>移动开发
本页文章导读:
    ▪设立属性页面        设置属性页面 设置属性页面有两种方式1、用xml完全的配置方式2、完全使用代码的方式xml配置方式: <?xml version="1.0" encoding="utf-8"?> <!-- This is a primitive example showing the different types of p.........
    ▪ 平添屏幕待机方法        添加屏幕待机方法 import android.os.SystemClock;android.os.PowerManager;//添加屏幕待机方法    public static void goToSleep(Context context,long time){     context.enforceCallingOrSelfPermission(android.Manifest.permission.DEV.........
    ▪ view运用       view使用 View的xml属性android:background背景android:clickable是否响应点击事件android:contentDescriptionview的简要描述android:drawingCacheQuality绘制缓存的质量,绘制缓存其实就是一个bitmap。默认是ARGB_8888(即.........

[1]设立属性页面
    来源: 互联网  发布时间: 2014-02-18
设置属性页面
设置属性页面有两种方式
1、用xml完全的配置方式
2、完全使用代码的方式

xml配置方式:
<?xml version="1.0" encoding="utf-8"?>

<!-- This is a primitive example showing the different types of preferences available. -->
<PreferenceScreen
        xmlns:android="http://schemas.android.com/apk/res/android">

    <PreferenceCategory
            android:title="@string/inline_preferences">
            
        <CheckBoxPreference
                android:key="checkbox_preference"
                android:title="@string/title_toggle_preference"
                android:summary="@string/summary_toggle_preference" />
            
    </PreferenceCategory>
                
    <PreferenceCategory
            android:title="@string/dialog_based_preferences">

        <EditTextPreference
                android:key="edittext_preference"
                android:title="@string/title_edittext_preference"
                android:summary="@string/summary_edittext_preference"
                android:dialogTitle="@string/dialog_title_edittext_preference" />
                
        <ListPreference
                android:key="list_preference"
                android:title="@string/title_list_preference"
                android:summary="@string/summary_list_preference"
                android:entries="@array/entries_list_preference"
                android:entryValues="@array/entryvalues_list_preference"
                android:dialogTitle="@string/dialog_title_list_preference" />

    </PreferenceCategory>

    <PreferenceCategory
            android:title="@string/launch_preferences">

        <!-- This PreferenceScreen tag serves as a screen break (similar to page break
             in word processing). Like for other preference types, we assign a key
             here so it is able to save and restore its instance state. -->
        <PreferenceScreen
                android:key="screen_preference"
                android:title="@string/title_screen_preference"
                android:summary="@string/summary_screen_preference">
            
            <!-- You can place more preferences here that will be shown on the next screen. -->
                     
            <CheckBoxPreference
                    android:key="next_screen_checkbox_preference"
                    android:title="@string/title_next_screen_toggle_preference"
                    android:summary="@string/summary_next_screen_toggle_preference" />
                
        </PreferenceScreen>

        <PreferenceScreen
                android:title="@string/title_intent_preference"
                android:summary="@string/summary_intent_preference">

            <intent android:action="/blog_article/android.intent.action.VIEW"
                    android:data="http://www.android.com" />

        </PreferenceScreen>

    </PreferenceCategory>
    
    <PreferenceCategory
            android:title="@string/preference_attributes">
    
        <CheckBoxPreference
                android:key="parent_checkbox_preference"
                android:title="@string/title_parent_preference"
                android:summary="@string/summary_parent_preference" />

        <!-- The visual style of a child is defined by this styled theme attribute. -->
        <CheckBoxPreference
                android:key="child_checkbox_preference"
                android:dependency="parent_checkbox_preference"
                android:layout="?android:attr/preferenceLayoutChild"
                android:title="@string/title_child_preference"
                android:summary="@string/summary_child_preference" />
            
    </PreferenceCategory>
    
</PreferenceScreen>



下面是代码的方式:
package com.example.android.apis.app;

import android.content.Intent;
import android.content.res.TypedArray;
import android.net.Uri;
import android.os.Bundle;
import android.preference.CheckBoxPreference;
import android.preference.EditTextPreference;
import android.preference.ListPreference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceCategory;
import android.preference.PreferenceScreen;

import com.example.android.apis.R;

public class PreferencesFromCode extends PreferenceActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        setPreferenceScreen(createPreferenceHierarchy());
    }

    private PreferenceScreen createPreferenceHierarchy() {
        // Root
        PreferenceScreen root = getPreferenceManager().createPreferenceScreen(this);
        
        // Inline preferences 
        PreferenceCategory inlinePrefCat = new PreferenceCategory(this);
        inlinePrefCat.setTitle(R.string.inline_preferences);
        root.addPreference(inlinePrefCat);
        
        // Toggle preference
        CheckBoxPreference togglePref = new CheckBoxPreference(this);
        togglePref.setKey("toggle_preference");
        togglePref.setTitle(R.string.title_toggle_preference);
        togglePref.setSummary(R.string.summary_toggle_preference);
        inlinePrefCat.addPreference(togglePref);
                
        // Dialog based preferences
        PreferenceCategory dialogBasedPrefCat = new PreferenceCategory(this);
        dialogBasedPrefCat.setTitle(R.string.dialog_based_preferences);
        root.addPreference(dialogBasedPrefCat);

        // Edit text preference
        EditTextPreference editTextPref = new EditTextPreference(this);
        editTextPref.setDialogTitle(R.string.dialog_title_edittext_preference);
        editTextPref.setKey("edittext_preference");
        editTextPref.setTitle(R.string.title_edittext_preference);
        editTextPref.setSummary(R.string.summary_edittext_preference);
        dialogBasedPrefCat.addPreference(editTextPref);
        
        // List preference
        ListPreference listPref = new ListPreference(this);
        listPref.setEntries(R.array.entries_list_preference);
        listPref.setEntryValues(R.array.entryvalues_list_preference);
        listPref.setDialogTitle(R.string.dialog_title_list_preference);
        listPref.setKey("list_preference");
        listPref.setTitle(R.string.title_list_preference);
        listPref.setSummary(R.string.summary_list_preference);
        dialogBasedPrefCat.addPreference(listPref);
        
        // Launch preferences
        PreferenceCategory launchPrefCat = new PreferenceCategory(this);
        launchPrefCat.setTitle(R.string.launch_preferences);
        root.addPreference(launchPrefCat);

        /*
         * The Preferences screenPref serves as a screen break (similar to page
         * break in word processing). Like for other preference types, we assign
         * a key here so that it is able to save and restore its instance state.
         */
        // Screen preference
        PreferenceScreen screenPref = getPreferenceManager().createPreferenceScreen(this);
        screenPref.setKey("screen_preference");
        screenPref.setTitle(R.string.title_screen_preference);
        screenPref.setSummary(R.string.summary_screen_preference);
        launchPrefCat.addPreference(screenPref);
        
        /*
         * You can add more preferences to screenPref that will be shown on the
         * next screen.
         */
        
        // Example of next screen toggle preference
        CheckBoxPreference nextScreenCheckBoxPref = new CheckBoxPreference(this);
        nextScreenCheckBoxPref.setKey("next_screen_toggle_preference");
        nextScreenCheckBoxPref.setTitle(R.string.title_next_screen_toggle_preference);
        nextScreenCheckBoxPref.setSummary(R.string.summary_next_screen_toggle_preference);
        screenPref.addPreference(nextScreenCheckBoxPref);
        
        // Intent preference
        PreferenceScreen intentPref = getPreferenceManager().createPreferenceScreen(this);
        intentPref.setIntent(new Intent().setAction(Intent.ACTION_VIEW)
                .setData(Uri.parse("http://www.android.com")));
        intentPref.setTitle(R.string.title_intent_preference);
        intentPref.setSummary(R.string.summary_intent_preference);
        launchPrefCat.addPreference(intentPref);
        
        // Preference attributes
        PreferenceCategory prefAttrsCat = new PreferenceCategory(this);
        prefAttrsCat.setTitle(R.string.preference_attributes);
        root.addPreference(prefAttrsCat);
        
        // Visual parent toggle preference
        CheckBoxPreference parentCheckBoxPref = new CheckBoxPreference(this);
        parentCheckBoxPref.setTitle(R.string.title_parent_preference);
        parentCheckBoxPref.setSummary(R.string.summary_parent_preference);
        prefAttrsCat.addPreference(parentCheckBoxPref);
        
        // Visual child toggle preference
        // See res/values/attrs.xml for the <declare-styleable> that defines
        // TogglePrefAttrs.
        TypedArray a = obtainStyledAttributes(R.styleable.TogglePrefAttrs);
        CheckBoxPreference childCheckBoxPref = new CheckBoxPreference(this);
        childCheckBoxPref.setTitle(R.string.title_child_preference);
        childCheckBoxPref.setSummary(R.string.summary_child_preference);
        childCheckBoxPref.setLayoutResource(
                a.getResourceId(R.styleable.TogglePrefAttrs_android_preferenceLayoutChild,
                        0));
        prefAttrsCat.addPreference(childCheckBoxPref);
        a.recycle();
        
        return root;
    }
}


    
[2] 平添屏幕待机方法
    来源: 互联网  发布时间: 2014-02-18
添加屏幕待机方法
import android.os.SystemClock;
android.os.PowerManager;
//添加屏幕待机方法
    public static void goToSleep(Context context,long time){
     context.enforceCallingOrSelfPermission(android.Manifest.permission.DEVICE_POWER, null);
      final AlertDialog dialog = new AlertDialog.Builder(context)
      .setIcon(android.R.drawable.ic_dialog_alert)
      .setTitle(com.android.internal.R.string.sleep)
      .setMessage(com.android.internal.R.string.sleep_confirm)
      .setPositiveButton(com.android.internal.R.string.yes,
                                   new DialogInterface.OnClickListener() {
                                       public void onClick
                                           (DialogInterface dialog, int which){
                                           PowerManager pm = (PowerManager)mContext.getSystemService(Context.POWER_SERVICE);
                                           pm.goToSleep(SystemClock.uptimeMillis());
                                       }
                                   })
            .setNegativeButton(com.android.internal.R.string.no, null)
            .create();
      dialog.getWindow().setType
            (WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
        dialog.getWindow().addFlags
            (WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
        dialog.show();
    
      }

    
[3] view运用
    来源: 互联网  发布时间: 2014-02-18
view使用
View的xml属性
android:background
背景

android:clickable
是否响应点击事件

android:contentDescription
view的简要描述

android:drawingCacheQuality
绘制缓存的质量,绘制缓存其实就是一个bitmap。默认是ARGB_8888(即:rgb + alpha各用8位),减少其质量可以降低内存占用

android:duplicateParentState

android:fadingEdge
在view滚动时,是否淡出相应的边界。vertical淡出上下的边界,horizontal淡出左右的边界,none无淡出边界


android:fadingEdgeLength
淡出边界的长度

android:filterTouchesWhenObscured
view所在窗口被其它可见窗口遮住时,是否过滤触摸事件。

android:fitsSystemWindows
调整基于系统窗口的view布局,如status bar就是基于系统窗口的。

android:focusable
是否可获得焦点

android:focusableInTouchMode
在触摸时,是否可获得焦点

android:hapticFeedbackEnabled
是否启用触摸反馈,启用后就是在点击等操作时会有震动等反馈效果。

android:id
id标识

android:isScrollContainer
是否将view作为滚动容器。能够调整它所在窗口的大小,以便为输入法窗口腾出空间。不过该属性不知道怎么用,好像activity默认就是这么处理的。

android:keepScreenOn
view所在的窗口可见时,保持屏幕打开。

android:longClickable
是否响应长点击事件

android:minHeight
view的最小高度

android:minWidth
view的最小宽度

android:nextFocusDown
向下移动焦点时,下一个获取焦点的view的id

android:nextFocusLeft
向左移动焦点时,下一个获取焦点的view的id

android:nextFocusRight
向右移动焦点时,下一个获取焦点的view的id

android:nextFocusUp
向上移动焦点时,下一个获取焦点的view的id

android:onClick
点击时,要调用的方法的名称。就是OnClickListener,系统将该调用转发到了我们这边指定的方法。方法要public void xxx(View view),否则会抛找不到方法的异常

android:padding
设置上下左右的边距

android:paddingBottom
下边距

android:paddingLeft
左边距

android:paddingRight
右边距

android:paddingTop
上边距

android:saveEnabled
在配置改变等情况出现时是否保存view的状态数据。如果你的view有id,那默认系统就会帮你保存。

android:scrollX
x方向的滚动偏移。即在水平方向滚动了多少距离

android:scrollY
y方向的滚动偏移。即在垂直方向滚动了多少距离

android:scrollbarAlwaysDrawHorizontalTrack
总是绘制水平滚动条的滚动轨道

android:scrollbarAlwaysDrawVerticalTrack
总是绘制垂直滚动条的滚动轨道

android:scrollbarDefaultDelayBeforeFade
滚动条在n毫秒后开始淡出。(毫秒)

android:scrollbarFadeDuration
滚动条用多长时间淡出完毕。(毫秒)

android:scrollbarSize
垂直滚动条的宽度、水平滚动条的高度

android:scrollbarStyle
滚动条的风格。insideOverlay内贴图、insideInset内插图;outsideOverlay外贴图、outsideInset外插图;
inside就是滚动条在绘制在padding以内;outside就是不需要绘制在padding内(即view的边界处)
Overlay是贴图,就是直接覆盖在内容的上方,这样内容可能会显示到滚动条下方去;Inset是插图,就是会在对应padding上加上滚动条的宽度,以不让内容显示到滚动条下面去。

这部分的源码
public void setPadding(int left, int top, int right, int bottom) {
	boolean changed = false;

	mUserPaddingRight = right;
	mUserPaddingBottom = bottom;

	final int viewFlags = mViewFlags;

	// Common case is there are no scroll bars.
	/* android中用一个int变量的各个bit来标识view的一些属性
	 * 如这里就是用SCROLLBARS_VERTICAL(0x00000200)来标识有垂直滚动条
	 */
	// 存在垂直或水平滚动条时
	if ((viewFlags & (SCROLLBARS_VERTICAL|SCROLLBARS_HORIZONTAL)) != 0) {
		// TODO: Deal with RTL languages to adjust left padding instead of right.
		// 存在垂直滚动条
		if ((viewFlags & SCROLLBARS_VERTICAL) != 0) {
			// overlay时,右padding加0;inset时,右padding加上滚动条宽度
			right += (viewFlags & SCROLLBARS_INSET_MASK) == 0
					? 0 : getVerticalScrollbarWidth();
		}
		// 存在水平滚动条。不过是不是代码写错了啊,应该是!= 0啊
		if ((viewFlags & SCROLLBARS_HORIZONTAL) == 0) {
			bottom += (viewFlags & SCROLLBARS_INSET_MASK) == 0
					? 0 : getHorizontalScrollbarHeight();
		}
	}
	
	// 与原来的不同才要重新设置
	if (mPaddingLeft != left) {
		changed = true;
		mPaddingLeft = left;
	}
	if (mPaddingTop != top) {
		changed = true;
		mPaddingTop = top;
	}
	if (mPaddingRight != right) {
		changed = true;
		mPaddingRight = right;
	}
	if (mPaddingBottom != bottom) {
		changed = true;
		mPaddingBottom = bottom;
	}

	if (changed) {
		requestLayout();
	}
}


android:scrollbarThumbHorizontal
水平滚动块的图片

android:scrollbarThumbVertical
垂直滚动块的图片

android:scrollbarTrackHorizontal
水平滚动条滚动轨道的图片

android:scrollbarTrackVertical
垂直滚动条滚动轨道的图片



android:scrollbars
要显示的滚动条。none不显示任何滚动条,vertical显示垂直的滚动条,horizontal显示水平的滚动条。也可以vertical|horizontal,垂直、水平的滚动条都要显示

android:soundEffectsEnabled
点击或触摸该view时,是否需要有声音效果

android:tag
string标识。类似id,id是整数标识。

android:visibility
view的可见性。gone不可见,同时不占用view的空间;invisible不可见,但占用view的空间;visible可见

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3