編輯:關於Android編程
在一些情況下,美工往往給我的都是px 這個時候我們就需要根據屏幕分辨率把px轉成dip或者sp 下面就是計算公式:
<frameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" android:background="@android:color/white"> </frameLayout>
package com.example.test5; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.util.DisplayMetrics; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.view.Window; import android.widget.Toast; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.main); findViewById(R.id.button).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Test(); } }); } public boolean isGreaterThan(String time){ String time1=time.replace(":", "").trim(); String time2="0130"; return Integer.parseInt(time2)-Integer.parseInt(time1)<=0; } private void Test() { final float fontScale = this.getResources().getDisplayMetrics().scaledDensity; final float scale = this.getResources().getDisplayMetrics().density; int screenWidth = getWindowManager().getDefaultDisplay().getWidth(); int screenHeight = getWindowManager().getDefaultDisplay().getHeight(); DisplayMetrics dm = new DisplayMetrics(); dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); float density = dm.density; float densityDPI = dm.densityDpi; Log.d("text", "scale="+scale+"fontScale="+fontScale+"screenWidth="+screenWidth+"screenHeight="+screenHeight); Log.d("text", "density="+density+"densityDPI="+densityDPI); int a=px2sp(26,scale); String s1=px2dip(this,13)+""; String s6=px2dip(this,60)+""; String s7=px2dip(this,11)+""; String s8=px2dip(this,162)+""; String s9=px2dip(this,232)+""; String s10=px2dip(this,44)+""; String s11=px2dip(this,178)+""; String s12=px2dip(this,610)+""; String s13=px2dip(this,420)+""; String s14=px2dip(this,126)+""; String s2=px2dip(this,32)+""; String s3=px2sp(26, fontScale)+""; String s4=px2sp(22, fontScale)+""; String s5=px2sp(18, fontScale)+""; System.out.println("s1: "+s1+"-----" +"s6:"+s6+"-----" +"s7:"+s7+"-----" +"s8:"+s8+"-----" +"s9:"+s9+"-----" +"s10:"+s10+"-----" +"s11:"+s11+"-----" +"s12:"+s12+"-----" +"s13:"+s13+"-----" +"s14:"+s14+"-----" +"s2:"+s2+"-----" +"s3"+s3+"-----" +"s4"+s4+"-----" +"s5"+s5+"-----"); } public static int dip2px(Context context, float dpValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (dpValue * scale + 0.5f); } public static int px2dip(Context context, float pxValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (pxValue / scale + 0.5f); } public static int px2sp(float pxValue, float fontScale) { return (int) (pxValue / fontScale + 0.5f); } public static int sp2px(float spValue, float fontScale) { return (int) (spValue * fontScale + 0.5f); } public void sT(String s){ Toast.makeText(this, s, Toast.LENGTH_SHORT).show(); } }源碼下載
1,標簽 標簽閃亮登場了。當LayoutInflater遇到這個標簽時,它會跳過它,並將內的元素添加到的父元素裡。迷惑了嗎?讓我們用來替換FrameLayout,並重寫之
Activity為我們提供一個可進行交互的窗口。當activity類創建了一個窗口,開發人員可以通過setContentView(View)接口把UI放到activity
上一篇面試總結,主要講了Activity 和Intent ,這篇主要講剩下的四大組件,面試中基礎較多的就是四大組件,需要了解的知識點也很多。上一篇文章 &nb
本文實例講述了android從系統圖庫中取圖片的實現方法。分享給大家供大家參考。具體如下:在自己應用中,從系統圖庫中取圖片,然後截取其中一部分,再返回到自己應用中。這是很