国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android 獲得屏幕寬高的三種方式

2020-04-11 11:13:03
字體:
來源:轉載
供稿:網友

老風格,廢話不多說了,直接給大家貼android獲取屏幕寬高的代碼了。

主要代碼:

package com.km.screeninfo;  import android.os.Bundle;  import android.support.v.app.Fragment;  import android.support.v.app.FragmentActivity;  import android.util.DisplayMetrics;  import android.view.LayoutInflater;  import android.view.Menu;  import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; public class MainActivity extends FragmentActivity {   @Override   protected void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.activity_main);     if (savedInstanceState == null) {       getSupportFragmentManager().beginTransaction().add(R.id.container, new PlaceholderFragment()).commit();     }   }   /**    * A placeholder fragment containing a simple view.    */   public static class PlaceholderFragment extends Fragment {     private TextView tvModel;     private TextView tvScreenHeight;     private TextView tvScreenHeight;     private TextView tvScreenHeight;     private TextView tvScreenWidth;     private TextView tvScreenWidth;     private TextView tvScreenWidth;     private TextView tvScreenDensity;     private TextView tvScreenDensityDPI;     private TextView tvScreenDensity;     private TextView tvScreenDensityDPI;     private TextView tvScreenWidth;     private TextView tvScreenHeight;     public PlaceholderFragment() {     }     @Override     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {       View rootView = inflater.inflate(R.layout.fragment_main, container, false);       tvModel = (TextView) rootView.findViewById(R.id.tv_model);       tvScreenHeight = (TextView) rootView.findViewById(R.id.tv_screen_height);       tvScreenHeight = (TextView) rootView.findViewById(R.id.tv_screen_height);       tvScreenHeight = (TextView) rootView.findViewById(R.id.tv_screen_height);       tvScreenHeight = (TextView) rootView.findViewById(R.id.tv_screen_height);       tvScreenWidth = (TextView) rootView.findViewById(R.id.tv_screen_width);       tvScreenWidth = (TextView) rootView.findViewById(R.id.tv_screen_width);       tvScreenWidth = (TextView) rootView.findViewById(R.id.tv_screen_width);       tvScreenWidth = (TextView) rootView.findViewById(R.id.tv_screen_width);       tvScreenDensity = (TextView) rootView.findViewById(R.id.tv_screen_density);       tvScreenDensityDPI = (TextView) rootView.findViewById(R.id.tv_screen_densityDPI);       tvScreenDensity = (TextView) rootView.findViewById(R.id.tv_screen_density);       tvScreenDensityDPI = (TextView) rootView.findViewById(R.id.tv_screen_densityDPI);       tvModel.setText(android.os.Build.MODEL);       // 獲取屏幕密度(方法)       int screenWidth = getActivity().getWindowManager().getDefaultDisplay().getWidth(); // 屏幕寬(像素,如:px)       int screenHeight = getActivity().getWindowManager().getDefaultDisplay().getHeight(); // 屏幕高(像素,如:p)       tvScreenHeight.setText(screenHeight + " px");       tvScreenWidth.setText(screenWidth + " px");       // 獲取屏幕密度(方法)       DisplayMetrics dm = getResources().getDisplayMetrics();       float density = dm.density; // 屏幕密度(像素比例:./././.)       int densityDPI = dm.densityDpi; // 屏幕密度(每寸像素:///)       float xdpi = dm.xdpi;       float ydpi = dm.ydpi;       int screenWidth = dm.widthPixels; // 屏幕寬(像素,如:px)       int screenHeight = dm.heightPixels; // 屏幕高(像素,如:px)       tvScreenHeight.setText(screenHeight + " px");       tvScreenWidth.setText(screenWidth + " px");       tvScreenDensity.setText(density + "");       tvScreenDensityDPI.setText(densityDPI + "");       // 獲取屏幕密度(方法)       DisplayMetrics dm = new DisplayMetrics();       getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm);       density = dm.density; // 屏幕密度(像素比例:./././.)       densityDPI = dm.densityDpi; // 屏幕密度(每寸像素:///)       xdpi = dm.xdpi;       ydpi = dm.ydpi;       tvScreenDensity.setText(density + "");       tvScreenDensityDPI.setText(densityDPI + "");       int screenWidth = dm.widthPixels; // 屏幕寬(px,如:px)       int screenHeight = dm.heightPixels; // 屏幕高(px,如:px)       tvScreenHeight.setText(screenHeight + " px");       tvScreenWidth.setText(screenWidth + " px");       float screenWidthDip = (dm.widthPixels / density); // 屏幕寬(dip,如:dip)       float screenHeightDip = (dm.heightPixels / density); // 屏幕寬(dip,如:dip)       tvScreenHeight.setText(screenHeightDip + " dip");       tvScreenWidth.setText(screenWidthDip + " dip");       return rootView;     }   } } 

 activity_main.xml:

 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"   xmlns:tools="http://schemas.android.com/tools"   android:id="@+id/container"   android:layout_width="match_parent"   android:layout_height="match_parent"   tools:context="com.km.screeninfo.MainActivity"   tools:ignore="MergeRootFrame" />   <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    tools:context="com.km.screeninfo.MainActivity$PlaceholderFragment" >    <LinearLayout      android:layout_width="match_parent"      android:layout_height="match_parent"     android:orientation="vertical" >     <LinearLayout       android:layout_width="match_parent"       android:layout_height="wrap_content"       android:layout_margin="dip"       android:orientation="horizontal" >       <TextView         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:text="手機型號:"         android:textStyle="bold" />       <TextView         android:id="@+id/tv_model"         android:layout_width="wrap_content"         android:layout_height="wrap_content" />     </LinearLayout>     <TextView       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:layout_marginBottom="dip"       android:layout_marginTop="dip"       android:text="方法一:getDefaultDisplay().getH/W()"       android:textColor="#aaaa"       android:textSize="sp" />     <LinearLayout       android:layout_width="match_parent"       android:layout_height="wrap_content"       android:layout_margin="dip"       android:layout_marginTop="dip"       android:orientation="horizontal" >       <TextView         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:text="屏幕高(一):"         android:textStyle="bold" />       <TextView         android:id="@+id/tv_screen_height"         android:layout_width="wrap_content"         android:layout_height="wrap_content" />     </LinearLayout>     <LinearLayout       android:layout_width="match_parent"       android:layout_height="wrap_content"       android:layout_margin="dip"       android:orientation="horizontal" >       <TextView         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:text="屏幕寬(一):"         android:textStyle="bold" />       <TextView         android:id="@+id/tv_screen_width"         android:layout_width="wrap_content"         android:layout_height="wrap_content" />     </LinearLayout>     <TextView       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:layout_marginBottom="dip"       android:layout_marginTop="dip"       android:text="方法二:getResources().getDisplayMetrics().H/W"       android:textColor="#aaaa"       android:textSize="sp" />     <LinearLayout       android:layout_width="match_parent"       android:layout_height="wrap_content"       android:layout_margin="dip"       android:layout_marginTop="dip"       android:orientation="horizontal" >       <TextView         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:text="屏幕高(二):"         android:textStyle="bold" />       <TextView         android:id="@+id/tv_screen_height"         android:layout_width="wrap_content"         android:layout_height="wrap_content" />     </LinearLayout>     <LinearLayout       android:layout_width="match_parent"       android:layout_height="wrap_content"       android:layout_margin="dip"       android:orientation="horizontal" >       <TextView         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:text="屏幕寬(二):"         android:textStyle="bold" />       <TextView         android:id="@+id/tv_screen_width"         android:layout_width="wrap_content"         android:layout_height="wrap_content" />     </LinearLayout>     <LinearLayout       android:layout_width="match_parent"       android:layout_height="wrap_content"       android:layout_margin="dip"       android:layout_marginTop="dip"       android:orientation="horizontal" >       <TextView         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:text="density:"         android:textStyle="bold" />       <TextView         android:id="@+id/tv_screen_density"         android:layout_width="wrap_content"         android:layout_height="wrap_content" />       <TextView         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_marginLeft="dip"         android:text="densityDPI:"         android:textStyle="bold" />       <TextView         android:id="@+id/tv_screen_densityDPI"         android:layout_width="wrap_content"         android:layout_height="wrap_content" />     </LinearLayout>     <TextView       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:layout_marginBottom="dip"       android:layout_marginTop="dip"       android:text="方法三:getDefaultDisplay().getMetrics(DisplayMetrics).H/W"       android:textColor="#aaaa"       android:textSize="sp" />     <LinearLayout       android:layout_width="match_parent"       android:layout_height="wrap_content"       android:layout_margin="dip"       android:layout_marginTop="dip"       android:orientation="horizontal" >       <TextView         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:text="屏幕高(三):"         android:textStyle="bold" />       <TextView         android:id="@+id/tv_screen_height"         android:layout_width="wrap_content"         android:layout_height="wrap_content" />     </LinearLayout>     <LinearLayout       android:layout_width="match_parent"       android:layout_height="wrap_content"       android:layout_margin="dip"       android:orientation="horizontal" >       <TextView         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:text="屏幕寬(三):"         android:textStyle="bold" />       <TextView         android:id="@+id/tv_screen_width"         android:layout_width="wrap_content"         android:layout_height="wrap_content" />     </LinearLayout>     <LinearLayout       android:layout_width="match_parent"       android:layout_height="wrap_content"       android:layout_margin="dip"       android:layout_marginTop="dip"       android:orientation="horizontal" >       <TextView         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:text="density:"         android:textStyle="bold" />       <TextView         android:id="@+id/tv_screen_density"         android:layout_width="wrap_content"         android:layout_height="wrap_content" />       <TextView         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_marginLeft="dip"         android:text="densityDPI:"         android:textStyle="bold" />       <TextView         android:id="@+id/tv_screen_densityDPI"         android:layout_width="wrap_content"         android:layout_height="wrap_content" />     </LinearLayout>     <TextView       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:layout_marginBottom="dip"       android:layout_marginTop="dip"       android:text="屏幕寬高(px/density)"       android:textColor="#aaaa"       android:textSize="sp" />     <LinearLayout       android:layout_width="match_parent"       android:layout_height="wrap_content"       android:layout_margin="dip"       android:layout_marginTop="dip"       android:orientation="horizontal" >       <TextView         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:text="屏幕高:"         android:textStyle="bold" />       <TextView         android:id="@+id/tv_screen_height"         android:layout_width="wrap_content"         android:layout_height="wrap_content" />     </LinearLayout>     <LinearLayout       android:layout_width="match_parent"       android:layout_height="wrap_content"       android:layout_margin="dip"       android:orientation="horizontal" >       <TextView         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:text="屏幕寬:"         android:textStyle="bold" />       <TextView         android:id="@+id/tv_screen_width"         android:layout_width="wrap_content"         android:layout_height="wrap_content" />     </LinearLayout>     <TextView       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:layout_marginBottom="dip"       android:layout_marginTop="dip"       android:text="科普:"       android:textColor="#aaaa"       android:textSize="sp" />     <TextView       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:layout_margin="dip"       android:text="density = densityDpi/" />     <TextView       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:layout_margin="dip"       android:text="px(pixels) = dip * (densityDpi/) = dip*density" />     <TextView       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:layout_margin="dip"       android:text="dip(device independent pixels) = dp " />     <TextView       android:layout_width="wrap_content"       android:layout_margin="dip"       android:layout_height="wrap_content"       android:text="dip = (px * )/densityDpi = px / density" />     <TextView       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:layout_margin="dip" />   </LinearLayout> </ScrollView>

ps:在 Activity 中獲得屏幕的寬和高

 int srceenW = this.getWindowManager().getDefaultDisplay().getWidth();  int screenH = this.getWindowManager().getDefaultDisplay().getHeight(); 

如果需要適應不同分辨率的屏幕,則按照以下方式操作:

準備多套不同的圖片:

分別放hdpi、mdpi、ldp文件夾中;

擺放控件的時候要得到屏幕寬高度,然后在程序中設定控件的百分乘屏幕的寬和高。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 齐齐哈尔市| 浦东新区| 彭州市| 黄冈市| 临朐县| 龙州县| 龙山县| 砀山县| 和田县| 德阳市| 平原县| 茂名市| 嘉荫县| 南丹县| 皮山县| 静乐县| 铅山县| 汉源县| 内乡县| 钟山县| 郎溪县| 定州市| 攀枝花市| 连平县| 武汉市| 东海县| 保靖县| 新乐市| 鄯善县| 桂林市| 沁水县| 库尔勒市| 合山市| 彰化县| 虎林市| 涞源县| 盐津县| 昭通市| 璧山县| 安溪县| 天峻县|