我有一个自定义视图,它生成一个弧,我已经像这样放入了xml
<com.example.application.ArcView
android:id="@+id/arcView1"
android:layout_width="@string/arc_size"
android:layout_height="@string/arc_size"
android:layout_centerInParent="true" />
我的高度和宽度会根据屏幕密度而变化
我已经像这样对它进行了编码,但它不起作用
Resources res = getResources();
String arcSizeString = res.getString(R.string.arc_size);
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
switch(metrics.densityDpi){
case DisplayMetrics.DENSITY_LOW:
arcSize = 170;
arcSizeString = (arcSize + "px");
break;
case DisplayMetrics.DENSITY_MEDIUM:
arcSize = 227;
arcSizeString = (arcSize + "px");
break;
case DisplayMetrics.DENSITY_HIGH:
arcSize = 342;
arcSizeString = (arcSize + "px");
break;
}
如何将宽度和高度设置为变量?
答案 0 :(得分:2)
您可能想问'如何设置宽度和高度以查看'。
您需要在Activity类中引用ArcView的实例,在Activity的onCreate方法中更精确,如下所示:
ArcView arcView = (ArcView)findViewById(R.id.arcView1);
此外,根据密度计算宽度和高度,并通过
将其设置为您的视图arcView.setLayoutParams(myLayoutParams);