Tag: android custom view

你如何获得“自定义视图”中的“android:”标签值

似乎有很多“类似”的问题和答案分散在这里,都涉及到如何从一个AttributeSet获得一个自定义AttributeSet 。 我到目前为止还没有find的是如何获得一个android: namespace标签: <com.custom.view.StatusThumbnail android:id="@+id/statusThumbnailContainer" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_margin="5dp" android:layout_weight="1"/> 我想从这个自定义组件中撤回layout_height属性。 不幸的是,从我读的最近的我已经得到如何做到这一点是: public StatusThumbnail(Context context, AttributeSet attrs) { super(context, attrs); String height = attrs.getAttributeValue("android", "layout_height"); 但是这返回null 。 这当然不是一件难得的事情吗?

如何定制snackBar的布局?

有没有任何方法来改变一个snackBar的自定义视图的布局? 现在它变黑了,我们可以改变背景颜色。 但我不知道正确的方式来夸大一个新的布局,并使其作为snackBars背景? 谢谢…

包'com.app …'中找不到属性“'的资源标识符”

我从Eclipse导入了一个项目到Android工作室。 它利用自定义视图: xmlns:app="http://schemas.android.com/apk/res-auto" 我从activity_ro.xml文件中得到以下错误: “错误:(136)包”com.app.xxxx“中找不到属性”pstsTabPaddingLeftRight“的资源标识符 app:pstsDividerColor="#00000000" app:pstsIndicatorColor="#FF33B5E6" app:pstsTabPaddingLeftRight="14dip" app:pstsUnderlineColor="#FF33B5E6" /> 我不确定自定义视图是不同的gradle或者我做错了什么。 任何人有一个想法?

如何获得在代码中的attrs.xml中创build的枚举

我用enumtypes的declare-styleable属性创build了一个自定义View(在这里find它)。 在XML中,我现在可以select我的自定义属性的枚举条目之一。 现在我想创build一个方法来设置此值编程,但我不能访问枚举。 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.xxx.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); 但我找不到枚举,或者我甚至不知道如何获得枚举的枚举或名称。 谢谢

如何使用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" android:layout_weight="1" android:visibility="gone" /> <include layout="@layout/keyboard" […]

我是否需要Android自定义视图的所有三个构造函数?

在创build自定义视图时,我注意到很多人似乎都这样做: 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)呢? 我不确定它在哪里使用,但我在超级课堂上看到它。 我需要它,它在哪里使用? 这个问题还有另外一部分 。

用于定制视图的attrs.xml中的同名属性

我正在写几个自定义视图,它们共享一些相同名称的属性。 在<declare-styleable>的各自的<declare-styleable>部分,我想使用相同的名字来表示属性: <?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已经定义。 我发现我应该省略myattr2中的myattr1和myattr2的format属性,但如果我这样做,我在控制台中获得以下错误: [2010-12-13 23:53:11 – MyProject] ERROR: In <declare-styleable> MyView2, unable to find attribute 有没有办法,我可以做到这一点,也许某种types的命名空间(只是猜测)?

MonoDroid:调用自定义视图的构造函数时出错 – TwoDScrollView

我正在构build一个使用定制的TwoDScrollView在这里find的Android应用程序: http://blog.gorges.us/2010/06/android-two-dimensional-scrollview/ 这个类可以在其他几个网站上find,Stack Overflow的其他人也提出了一些问题。 我在之前使用Java / Eclipse构build的Android应用程序中使用了它,而且我取得了成功。 用我目前的应用程序,我想使用C#和MonoDroid。 我决定用C#重写整个TwoDScrollView类。 重写后,然后在一些布局XML中使用它,当我尝试运行我的代码时,出现以下exception: System.NotSupportedException已被抛出。 无法从本地句柄44f4d310激活types为MyProject.TwoDScrollView的实例。 System.Exception:没有为MyProject.TwoDScrollView ::。ctor(System.IntPtr,Android.Runtime.JniHandleOwnership)find构造函数……更多的文本后面…. 我的布局XML如下所示: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <myproject.TwoDScrollView android:layout_width="fill_parent" android:layout_height="fill_parent"> </myproject.TwoDScrollView> </RelativeLayout> 按照以下链接中关于在MonoDroid中使用布局XML中的自定义视图的说明: http ://docs.xamarin.com/android/advanced_topics/using_custom_views_in_a_layout TwoDScrollView类的构造函数如下所示: public TwoDScrollView(Context context) : base(context) { initTwoDScrollView(); } public TwoDScrollView(Context context, IAttributeSet attrs) : base(context, attrs) { initTwoDScrollView(); } public TwoDScrollView(Context context, […]

Android自定义形状button

我怎样才能在Android中自定义形状的可点击查看或button? 当我点击时,我想避免触摸空白区域。 请帮忙。 谢谢。