Questions tagged «android-custom-view»

5
attrs.xml中用于自定义视图的同名属性
我正在写一些共享一些同名属性的自定义视图。在它们各自的<declare-styleable>部分中,attrs.xml我想对属性使用相同的名称: <?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="MyView1"> <attr name="myattr1" format="string" /> <attr name="myattr2" format="dimension" /> ... </declare-styleable> <declare-styleable name="MyView2"> <attr name="myattr1" format="string" /> <attr name="myattr2" format="dimension" /> ... </declare-styleable> </resources> 我在说一个错误myattr1并且myattr2已经定义了。我发现我应该省略和中的format属性,但是如果这样做,我会在控制台中收到以下错误:myattr1myattr2MyView2 [2010-12-13 23:53:11 - MyProject] ERROR: In <declare-styleable> MyView2, unable to find attribute 有什么办法可以做到这一点,也许是某种命名空间(只是猜测)?

6
我是否需要所有三个构造函数才能使用Android自定义视图?
创建自定义视图时,我注意到许多人似乎是这样的: public MyView(Context context) { super(context); // this constructor used when programmatically creating view doAdditionalConstructorWork(); } public MyView(Context context, AttributeSet attrs) { super(context, attrs); // this constructor used when creating view through XML doAdditionalConstructorWork(); } private void doAdditionalConstructorWork() { // init variables etc. } 我的第一个问题是,构造函数MyView(Context context, AttributeSet attrs, int defStyle)呢?我不确定在哪里使用它,但是我在超类中看到了它。我需要它吗?在哪里使用? …

15
如何在Android中制作带有圆角的自定义对话框
我想做的是:我想在带有圆角的android中创建自定义对话框。 发生了什么:我可以进行自定义对话框,但没有圆角。我尝试添加选择器,但仍然无法实现圆角。 下面是我的相同代码: Java代码: private void launchDismissDlg() { dialog = new Dialog(getActivity(), android.R.style.Theme_Dialog); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(R.layout.dlg_dismiss); dialog.setCanceledOnTouchOutside(true); Button btnReopenId = (Button) dialog.findViewById(R.id.btnReopenId); Button btnCancelId = (Button) dialog.findViewById(R.id.btnCancelId); btnReopenId.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { } }); btnCancelId.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { } }); dialog.setCanceledOnTouchOutside(false); dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); …

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
如何使用isInEditMode()在编辑器中使用自定义视图查看布局
当我尝试编辑布局xml时,我必须编辑具有自定义视图的软件,Eclipse对我说: 在Eclipse中显示时,在自定义视图中使用View.isInEditMode()跳过代码 但是我不知道在应用程序中如何以及在哪里必须使用isInEditMode() 我的xml文件是 <?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" android:background="#ff000000" > <TextView android:id="@+id/result" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="right" android:textSize="32dip" android:scrollbars="none" android:lines="1" android:freezesText="true" android:textColor="@color/result" /> <EditText android:id="@+id/input" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="left" android:textSize="28dip" android:scrollbars="none" android:singleLine="true" android:autoText="false" android:imeOptions="flagNoEnterAction|flagNoExtractUi" /> <ListView android:id="@+id/history" android:layout_width="fill_parent" android:layout_height="0dip" android:layout_weight="1" android:cacheColorHint="#ff000000" android:choiceMode="singleChoice" android:scrollbarStyle="outsideInset" android:scrollbars="none" /> <calculator.GraphView android:id="@+id/graph" android:layout_width="fill_parent" android:layout_height="0dip" …

8
不同分辨率支持android
编辑问题: 移动分辨率:我想设计不同的屏幕dpi,例如以下分辨率。 小320x480,480×800,540x960,720x1280(三星S3),1080×1920(S4,Nexus5,纳克斯5X,摩托G4),2560 X 1440(的Nexus 6,纳克斯6P,三星边缘) 平板分辨率: 480×800(Micromax的),600x1024(三星Tab2 ),800x1280(nexus 7),1200x1920(新nexus 7),2048x1536(nexus 9) 我想根据设备显示分辨率使用不同的字体大小。 Q1)best解决此问题的方法是什么problem? Q2)进行抛出编码或XML的最佳选择是什么? Q3)哪个可绘制文件夹代表哪个设备分辨率? Q4)应用启动器图标大小是否不同?
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.