如何在代码中为组件设置dip,sp值
来源:互联网 发布:出售淘宝店铺资料 编辑:程序博客网 时间:2024/05/06 07:56
- 此处以TextView为例:
- 创建一个TextView实例
- TextView tview=new TextView(this);
- Api中设置字体大小的方法
- tview.setTextSize(int unit, float size);
- tview.setTextSize(float size);
- public static float applyDimension(int unit, float value,
- DisplayMetrics metrics)
- {
- switch (unit) {
- case COMPLEX_UNIT_PX:
- return value;
- case COMPLEX_UNIT_DIP:
- return value * metrics.density;
- case COMPLEX_UNIT_SP:
- return value * metrics.scaledDensity;
- case COMPLEX_UNIT_PT:
- return value * metrics.xdpi * (1.0f/72);
- case COMPLEX_UNIT_IN:
- return value * metrics.xdpi;
- case COMPLEX_UNIT_MM:
- return value * metrics.xdpi * (1.0f/25.4f);
- }
- return 0;
- }
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical" >
- <TextView
- android:id="@+id/textView1"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="xml中以dp为单位显示" />
- <ImageView
- android:id="@+id/imageView1"
- android:layout_width="100dip"
- android:layout_height="100dip"
- android:layout_marginTop="10dp"
- android:src="@drawable/a11" />
- <TextView
- android:id="@+id/textView2"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="14dp"
- android:text="代码动态添加值" />
- <ImageView
- android:id="@+id/imageView2"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="10dp"
- android:src="@drawable/a11" />
- </LinearLayout>
- package com.example.aboutexpand;
- import android.app.Activity;
- import android.content.Context;
- import android.content.res.Resources;
- import android.os.Bundle;
- import android.util.TypedValue;
- import android.view.ViewGroup.LayoutParams;
- import android.widget.ImageButton;
- import android.widget.ImageView;
- import android.widget.LinearLayout;
- import android.widget.RelativeLayout;
- import android.widget.TextView;
- public class HomeActivity extends Activity {
- private ImageView imgView1 = null;// xml布局中定义大小宽高为100dip
- private ImageView imgView2 = null;// 需要动态设置大小,也要为100dip
- ImageButton imgBtn = null;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.home);
- imgView1 = (ImageView) findViewById(R.id.imageView1);
- int img1H = imgView1.getDrawable().getIntrinsicHeight();
- int img1W = imgView1.getDrawable().getIntrinsicWidth();
- imgView2 = (ImageView) findViewById(R.id.imageView2);
- // 方法一
- // imgView2.setLayoutParams(new LinearLayout.LayoutParams(
- // (int) getRawSize(TypedValue.COMPLEX_UNIT_DIP, 100),
- // (int) getRawSize(TypedValue.COMPLEX_UNIT_DIP, 100)));
- // 方法二
- imgView2.setLayoutParams(new LinearLayout.LayoutParams(
- getIntFromDimens(R.dimen.img_height),
- getIntFromDimens(R.dimen.img_widthe)));
- int img2H = imgView2.getDrawable().getIntrinsicHeight();
- int img2W = imgView2.getDrawable().getIntrinsicWidth();
- TextView tview1 = (TextView) findViewById(R.id.textView1);
- tview1.getText();
- tview1.setText(tview1.getText() + "图片h" + img1H + "w" + img1W);
- TextView tview2 = (TextView) findViewById(R.id.textView2);
- tview2.setText(tview2.getText() + "图片h" + img2H + "w" + img2W);
- }
- // 方法一
- public float getRawSize(int unit, float value) {
- Resources res = this.getResources();
- return TypedValue.applyDimension(unit, value, res.getDisplayMetrics());
- }
- // 方法2,需先在values中dimens的进行设置
- public int getIntFromDimens(int index) {
- int result = this.getResources().getDimensionPixelSize(index);
- return result;
- }
- }
0 0
- 如何在代码中为组件设置dip,sp值
- 如何在代码中为组件设置dip,sp值
- 如何在代码中为组件设置dip,sp值
- 如何在代码中为组件设置dip,sp值
- 如何在代码中为组件设置dip,sp值
- 如何在代码中为组件设置dip,sp值
- 在java代码中进行px与dip(dp)、px与sp单位值的转换
- 在java代码中进行px与dip(dp)、px与sp单位值的转换(转)------工具类
- 在java代码中设置字体大小,可以指定单位为sp
- 代码中设置dip大小
- Android中Dip(dp)、Sp转换为Px
- 如何修改布局组件宽度设置固定值,在代码中动态修改
- Android在代码中按照SP设置字体的大小
- 如何在代码中动态为TextView/Button设置drawableRight
- 在代码中设置组件的属性
- Android中 dip dp px sp 区别
- Android中px、dip、sp的区别
- Android中px、sp、dip的区别
- 80x86汇编语言--关于 π 的近似计算
- ZOJ-3607-Lazier Salesgirl【模拟】【贪心】【9th浙江省赛】
- 80x86汇编语言--计算 S = 1 + 2*3 + 3*4 + 4*5 + …… + N*(N + 1)
- 80x86 汇编语言:键控顺序显示不同符号序列
- 80x86汇编语言--输入表达式,再计算
- 如何在代码中为组件设置dip,sp值
- 过滤非法字符,防止注入式攻击等
- 51单片机定时器编程:这么简单的要求,不用大动干戈
- 加快发展职业教育 让每个人都有人生出彩机会
- 80x86汇编:怎么反向输出一个整数(如2347,输出7432)
- 数字电子技术课设--频率计
- 80x86 汇编语言编程:斐波那契数列--大数处理
- 51单片机--8 位数码管动态显示 12 位数字
- 51单片机--设置数码管的闪烁位置,便于输入数字