Questions tagged «custom-view»

5
如何获取在代码中的attrs.xml中创建的枚举
我创建了一个自定义视图(在此处查找),其声明类型为enum。在xml中,我现在可以为我的自定义属性选择一个枚举条目。现在,我想创建一个以编程方式设置此值的方法,但是我无法访问该枚举。 attr.xml <declare-styleable name="IconView"> <attr name="icon" format="enum"> <enum name="enum_name_one" value="0"/> .... <enum name="enum_name_n" value="666"/> </attr> </declare-styleable> layout.xml <com.xyz.views.IconView android:id="@+id/heart_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" app:icon="enum_name_x"/> 我需要的是这样的:mCustomView.setIcon(R.id.enum_name_x); 但是我找不到枚举,或者甚至不知道如何获取枚举或枚举的名称。

4
Android ImageView大小不随源图像缩放
我在LinearLayout中有一些ImageViews。我需要按比例缩小ImageViews,以便它们在垂直安装到LinearLayout中的同时保持其长宽比。在水平方向上,我只需要它们彼此相邻即可。 我为此做了一个简化的测试台,它嵌套了加权版面,因此我为ImageViews设置了一个宽但不是很高的LinearLayout- <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="5"> <LinearLayout android:id="@+id/linearLayout3" android:layout_height="fill_parent" android:layout_width="fill_parent" android:layout_weight="1"> <ImageView android:id="@+id/imageView1" android:layout_height="wrap_content" android:layout_width="wrap_content" android:src="@drawable/test_image" android:scaleType="fitStart"></ImageView> <ImageView android:id="@+id/imageView2" android:layout_height="wrap_content" android:layout_width="wrap_content" android:src="@drawable/test_image" android:scaleType="fitStart"></ImageView> </LinearLayout> <LinearLayout android:id="@+id/linearLayout4" android:layout_height="fill_parent" android:layout_width="fill_parent" android:layout_weight="1"></LinearLayout> </LinearLayout> <LinearLayout android:id="@+id/linearLayout2" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1"></LinearLayout> </LinearLayout> (在Eclipse布局编辑器中,图像是垂直剪切的,根本没有缩放-但这只是我们学到的特质之一) 在硬件上运行时,图像会缩放到正确的高度,同时保留其宽高比。我的问题是它们彼此不相邻。每个ImageView的高度与LinearLayout的高度正确匹配。每个ImageView的宽度是未缩放图像的宽度-实际按比例缩小的图像显示在其ImageViews的左侧。因此,图像之间的差距越来越大。 理想情况下,我希望通过XML进行管理,如果不可能的话,我知道使用自定义视图可能是最好的解决方案。 我尝试创建一个覆盖onMeasure的IconView(扩展ImageView)类,以便可以根据高度缩放宽度来创建所需大小的图像视图。但是传递给函数的parentWidth和parentHeight是屏幕的尺寸,而不是LinearLayout容器的尺寸。 @Override …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.