来自UIImage参考,
尺寸
图像的尺寸,考虑方向.(只读)
@property(nonatomic, readonly) CGSize size
Run Code Online (Sandbox Code Playgroud)
讨论
在iOS 4.0及更高版本中,此值反映图像的逻辑大小,并以磅为单位进行测量.在iOS 3.x及更早版本中,此值始终反映以像素为单位测量的图像尺寸.
像素和点之间有什么区别?
我为视图创建了一个背景图像位图,现在视图被拉伸到背景图像的大小....
这是正常的吗?
Run Code Online (Sandbox Code Playgroud)<?xml version="1.0" encoding="utf-8"?> <bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/green" android:tileMode="repeat"/>
这是我如何将它应用到我的视图中
v.setBackgroundResource(R.drawable.backgroundgreen);
Run Code Online (Sandbox Code Playgroud)
例如...
如果图像高度为500像素,视图高度为200像素(将wrap_content设置为高度),将图像设置为背景后,我的视图高度为500像素...
我正在阅读dp,dip,px,sp测量,但我仍然有一些关于dp/dpi vs ppi vs px vs inch的问题.我无法比较它们......是最大的一英寸?
他们说160 dpi意味着每英寸160像素.这是否意味着1英寸包含160像素?
他们还说160 dpi屏幕上的1个像素= 1 dp.这是否意味着1像素和1 dp相等?
最后,我们为什么要使用dp而不是px?我明白这是理想的,但为什么呢?
我用的时候
android:textSizes="20dp"
Run Code Online (Sandbox Code Playgroud)
在我的XML for textView中,我收到一条警告"应该使用"sp"而不是"dp"用于文本大小."
为什么不使用"dp"?什么是正确的方法?如何在不同的显示器上实现相同的文本化?
我正在寻找一种方法来动态地将String转换为"30dp"类似于像素数量的int.这意味着StaticClass.theMethodImSearchingFor("16px")会回来16.
我的应用程序将动态获取这些字符串,我需要一种方法将其存储为像素值,以便以后使用.
我已经看过了Android源代码,主要是类Resources,TypedArray和TypedValue,但我找不到任何有用的东西.
我正试图将我的身高设置LinearLayout为45度.
在扩展时我该怎么做LinearLayout?
现在我刚做了: LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, 45);
如何为Android按钮设置固定宽度?每次我尝试设置固定宽度时,它都会填充当前父级(RelativeView).这是我的XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:id="@+id/relativelayout" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">
<EditText android:layout_height="wrap_content" android:editable="false" android:layout_width="fill_parent" android:id="@+id/output"></EditText>
<Button android:layout_height="wrap_content" android:id="@+id/Button01" android:layout_below="@id/output" android:text="7" android:layout_width="wrap_content"></Button>
<Button android:layout_below="@id/output" android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/Button02" android:layout_toRightOf="@+id/Button01" android:text="8"></Button>
<Button android:layout_below="@id/output" android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/Button03" android:layout_toRightOf="@+id/Button02" android:text="9"></Button>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
我怎么给它一个固定的宽度?
更新
说我有几个按钮,我想要彼此相同的尺寸和整个视图的1/3(肖像),然后我想要一个宽度加倍的按钮.然后是一个高度加倍的按钮.我怎么能完成另一个手动调整它们的尺寸?
我想使用带有径向渐变的shape drawable作为View的背景.根据javadoc,渐变的半径可以设置为特定值(可能是像素)或百分比:
机器人:gradientRadius
渐变的半径,仅用于径向渐变.
可能是浮点值,例如"1.2".
可以是小数值,它是附加%或%p的浮点数,例如"14.5%".%后缀总是表示基本大小的百分比; 可选的%p后缀提供相对于某个父容器的大小.
如果我错了,请纠正我,但在这里使用像素值是完全没用的,因为这个渐变看起来完全不同于一个屏幕密度到另一个(测试,是的,这是真的).我试着使用%和%p值,但它们根本不起作用.
我深入研究了Android源代码,了解了如何处理gradientRadius并在GradientDrawable类中找到它:
TypedValue tv = a.peekValue(
com.android.internal.R.styleable.GradientDrawableGradient_gradientRadius);
if (tv != null) {
boolean radiusRel = tv.type == TypedValue.TYPE_FRACTION;
st.mGradientRadius = radiusRel ?
tv.getFraction(1.0f, 1.0f) : tv.getFloat();
} else ...
}
Run Code Online (Sandbox Code Playgroud)
啊哈!因此,所有添加%或%p确实将我的值除以100.(我测试了这一点,因为TypeValue.getFraction()的文档更加不清楚).65%变为0.65.有道理,但没有用处.
那么使用gradientRadius的最佳方法是什么?
PS.我使用GradientDrawable以编程方式添加了我的背景,我得到了理想的结果.我使用GradientDrawable.setGradientRadius()来获取相对于视图宽度的值,并在设备之间获得一致的渐变.
我看了很多使用layout_height ="0dp"的地方.有人能告诉我这是什么意思吗?我试着查看android开发者文档,但没有在那里找到相关信息.
谢谢.
我有一个可以膨胀的RelativeLayout.我想在顶部添加一个跨越布局宽度的纯色矩形.我尝试将以下内容放入我的xml中:
<view android:id="@+id/top_alert"
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_above="@+id/orders_gridview"
android:layout_alignParentTop="true"
android:background="@color/table_request_assistance"
android:visibility="visible"/>
Run Code Online (Sandbox Code Playgroud)
现在,当我尝试给我的布局充气时,我在LayoutInflater.createViewFromTag上得到一个NullPointerException(第715行):
if (name.equals(TAG_1995)) {
Run Code Online (Sandbox Code Playgroud)
name 如此设置:
if (name.equals("view")) {
name = attrs.getAttributeValue(null, "class");
}
Run Code Online (Sandbox Code Playgroud)
显然没有"类"属性.我该如何添加?我在http://schemas.android.com/apk/res/android中找不到任何结果.我应该加吗?这是标准的方法吗?它似乎应该是世界上最简单的东西.