package com.atguigu.screenadapter_code;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.DisplayMetrics;
import android.widget.LinearLayout;
import android.widget.TextView;
/**
* 在代码中给控件设置大小,从而达到屏幕适配的这种方式叫:代码屏幕适配
* 应用场景:广告平台的sdk,第三方sdk
*/
public class MainActivity extends AppCompatActivity {
private TextView tv1,tv2,tv3,tv4;
private int screenWidth;
private int screenHeight;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv1 = (TextView) findViewById(R.id.tv1);
tv2 = (TextView) findViewById(R.id.tv2);
tv3 = (TextView) findViewById(R.id.tv3);
tv4 = (TextView) findViewById(R.id.tv4);
//得到屏幕的宽
DisplayMetrics out = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(out);
//得到屏幕的宽和高
screenHeight = out.heightPixels;
screenWidth = out.widthPixels;
//设置控件的参数
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams((int)(screenWidth*0.25),(int)(screenHeight*0.1));
tv1.setLayoutParams(params);
params = new LinearLayout.LayoutParams((int)(screenWidth*0.5),(int)(screenHeight*0.1));
tv2.setLayoutParams(params);
params = new LinearLayout.LayoutParams((int)(screenWidth*0.75),(int)(screenHeight*0.1));
tv3.setLayoutParams(params);
params = new LinearLayout.LayoutParams((int)(screenWidth),(int)(screenHeight*0.1));
tv4.setLayoutParams(params);
}
}