美文网首页
Android小知识点整理

Android小知识点整理

作者: 浩仔_Boy | 来源:发表于2017-08-09 11:42 被阅读16次

RadioButton和CheckBox使用

在代码控制RadioButton的状态,状态改了,但是UI没有变,做法是使用CheckBox。
如果有下图这种需求,多个支付操作,在切换的时候不想让RadioButton有点击操作,而是通过控制外层ViewGroup的点击来控制RadioButton的UI,需要设置RadioButton.setOnclickable(false)

1.jpg
<CheckBox
                android:id="@+id/pay_radio_z"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:button="@drawable/radiobutton_background_selector"
                android:layout_centerVertical="true"
                android:layout_alignParentRight="true"
                android:padding="@dimen/dp_10"
                style="@android:style/Widget.DeviceDefault.Light.CompoundButton.RadioButton"/>

Android4.4及以上设置状态栏指定颜色或者透明

 /**
     * 设置状态栏颜色
     */
    public static void setStatusBarColor(Activity activity,boolean isTranslucent) {
        if (activity == null){
            return;
        }
        String activityName = activity.getClass().getSimpleName();
        try {
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                View decorView = activity.getWindow().getDecorView();
                int option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                        | View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
                decorView.setSystemUiVisibility(option);
                if (isTranslucent){
                    activity.getWindow().setStatusBarColor(Color.TRANSPARENT);
                }
                else {
                     activity.getWindow().setStatusBarColor(ContextCompat.getColor(activity,     R.color.colorAccent));
                }
            }
            else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
                activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
                // 生成一个状态栏大小的矩形
                View statusBarView = new View(activity);
                LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
                        getStatusBarHeight(activity));
                statusBarView.setLayoutParams(params);
                if (isTranslucent){
                    statusBarView.setBackgroundColor(Color.TRANSPARENT);
                }else {
                    statusBarView.setBackgroundColor(ContextCompat.getColor(activity, R.color.colorAccent));
                }
                // 添加 statusView 到布局中
                ViewGroup decorView = (ViewGroup)activity.getWindow().getDecorView();
                decorView.addView(statusBarView);
            }
        } catch (Exception e) {
            e.printStackTrace();
            LogUtil.e(TAG,"设置状态栏透明异常,方法名:setStatusBarColor");
        }
    }

    /**
     * 获取手机状态栏高度
     * @param activity
     * @return
     */
    public static int getStatusBarHeight(Activity activity){
        int resourceId = activity.getResources().getIdentifier("status_bar_height", "dimen", "android");

        int statusHeight = activity.getResources().getDimensionPixelSize(resourceId);

        return statusHeight;
    }

隐藏状态栏

 /**
     * 设置指定界面全屏显示
     * @param context
     */
    public static void setFullscreenMode(Activity context){
        if (context != null) {

            context.getWindow().setFlags(
                        WindowManager.LayoutParams.FLAG_FULLSCREEN,
                        WindowManager.LayoutParams.FLAG_FULLSCREEN);
          }
    }

Android中颜色透明度对应16进制值

<!--百分比-开头字母-->
<!--100% —FF--> 
<!--95% — F2-->
 <!--90% — E6-->
 <!--85% — D9-->
 <!--80% — CC-->
 <!--75% — BF-->
 <!--70% — B3-->
 <!--65% — A6-->
 <!--60% — 99-->
 <!--55% — 8C-->
 <!--50% — 80-->
 <!--45% — 73-->
 <!--40% — 66-->
 <!--35% — 59-->
 <!--30% — 4D-->
 <!--25% — 40-->
 <!--20% — 33-->
 <!--15% — 26-->
 <!--10% — 1A-->
 <!--5% — 0D-->
 <!--0% — 00-->

android 移除栈中指定的activity
需求:MainActivity >> SecondActivity >> ThirdActivity >> HomeActivity,SecondActivity 点击返回回到MainActivity 。这个地方会有一个问题就是在进入HomeActivity之后,点击返回会回到MainActivity ,但是应该是结束应用才对。

如何在当前页面finish掉其他的界面呢,方法当然会有很多,建议使用EventBus发送消息。

Android打开各种类型的文件、预览不同类型的文件

/** 
 * 打开一个文件 
 *  
 * @param filePath 
 *  文件的绝对路径 
 */  
private void openFile(final String filePath)  
{  
    String ext = filePath.substring(filePath.lastIndexOf('.')).toLowerCase(Locale.US);  
    try  
    {  
        MimeTypeMap mimeTypeMap = MimeTypeMap.getSingleton();  
        String temp = ext.substring(1);  
        String mime = mimeTypeMap.getMimeTypeFromExtension(temp);  
  
        Intent intent = new Intent();  
        intent.setAction(android.content.Intent.ACTION_VIEW);  
        File file = new File(filePath);  
        intent.setDataAndType(Uri.fromFile(file), mime);  
        startActivity(intent);  
    }  
    catch (Exception e)  
    {  
        e.printStackTrace();  
        Toast.makeText(getApplicationContext(), "无法打开后缀名为." + ext + "的文件!",  
                Toast.LENGTH_LONG).show();  
    }  
}  

原文地址:http://blog.csdn.net/eieihihi/article/details/45872051

Fragment动态全屏
在activity中设置如下代码,在对应的fragment的setUserVisibleHint调用。

/**
     * 控制是否全屏
     * @param isfull
     */
   public void setFullScreen(boolean isfull){
        if (isfull){
            getWindow().setFlags(
                    WindowManager.LayoutParams.FLAG_FULLSCREEN,
                    WindowManager.LayoutParams.FLAG_FULLSCREEN);
        }
        else {
            WindowManager.LayoutParams attrs = getWindow()
                    .getAttributes();
            attrs.flags &= ~WindowManager.LayoutParams.FLAG_FULLSCREEN;
            getWindow().setAttributes(attrs);
        }
    }

相关文章

  • Android小知识点整理

    RadioButton和CheckBox使用 在代码控制RadioButton的状态,状态改了,但是UI没有变,做...

  • android 常用小知识点 tips (二)

    android 常用小知识点 tips (一)android 常用小知识点 tips (二) 持续更新中.... ...

  • Android 路线

    Android学习之路 Android开发技术前线 Android重要知识点解析整理 Android6.0新特性详...

  • 2018-08-29

    Android基础知识点整理 一、Android六大布局 1.1 LinearLayout线性布局 android...

  • 第九周 Android 面试整理

    Android面试整理知识点较全:https://github.com/hcy940215/Android_Int...

  • Android 进阶的整理

    花了一个周末,把 Android 进阶的知识点做了整理。

  • Android 进阶路线(思维导图)

    整理了Android开发中的一些知识点,包括Java基础、Android基础、Android进阶、开源框架和工具类...

  • 1.Activity(一)

    前言:这段时间自己复习高级Android面试整理的一套Android面试知识点总结:开始整理到有道云笔记,后续会直...

  • Android面试题知识点整理篇

    前言 秋招在即,急忙将这些Android知识点整理一套面试题籍,希望对大家有所帮助。 Android面试题知识点 ...

  • Android知识点整理

    2018.6.11更新: Android性能优化之提高ListView性能的技巧 2018.5.15更新: htt...

网友评论

      本文标题:Android小知识点整理

      本文链接:https://www.haomeiwen.com/subject/wzvfrxtx.html