我正在尝试使用这个优秀项目中的拖放功能:https://github.com/bauerca/drag-sort-listview/
首先,我使用GitHub上的说明添加了库.
其次,我正在尝试使用XML声明.这是我的main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:dslv="http://schemas.android.com/apk/res/com.mobeta.android.dslv"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<include layout="@layout/header"/>
<com.mobeta.android.dslv.DragSortListView
android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:divider="#D9D9D9"
android:dividerHeight="2dp"
android:listSelector="@drawable/list_selector"
dslv:drag_enabled="true"
dslv:drag_scroll_start="0.33"
dslv:drag_start_mode="onDown"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
但是,Eclipse正在抛出这个错误:No resource identifier found for attribute 'drag_enabled' in package 'com.mobeta.android.dslv';同样适用于'drag_scroll_start'和'drag_start_mode'.
我想在更一般的层面上理解我在这里做错了什么.如果有人能为我提供使用这个库的具体帮助,我也会很感激.
我有一个带有webView的Android测试应用程序,如下所示:
<WebView
android:alpha="0"
android:id="@+id/myWebView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
Run Code Online (Sandbox Code Playgroud)
我的主要活动加载了一个我运行JS内容的页面.使用JS启用JS:
webSettings.setJavaScriptEnabled(true);
Run Code Online (Sandbox Code Playgroud)
我的应用程序上有一个按钮,可以将alpha值从0切换为1(显示/隐藏webView).
是否有任何"创造性"方式来检测JS方面的变化?
我试过的事情:
更新:
澄清,我正在寻找一个JS Only解决方案,实际的JS代码是在WebView环境中使用的SDK.
我无法控制Android应用程序,完全控制WebView内容.
我想View在Android上创建自定义.我试图尽可能简单地创建它并创建了一个几乎为空的类MyView并在我LinearLayout的应用程序中使用它,但是应用程序在"强制关闭"开始时失败.我怎样才能做一个简单的定制View?根据构建自定义组件,View如果我不覆盖,则获取大小100x100 onMeasure().
public class MyView extends View {
public MyView(Context context) {
super(context);
}
}
Run Code Online (Sandbox Code Playgroud)
我用它来LinearLayout:
<view
class="com.example.MyView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.0" />
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
如果我使用itemon建议的构造函数和对超类的相应调用.然后"强制关闭"消失,但我LinearLayout的破坏,后面的组件MyView没有显示.
这是我的main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.0"
android:background="#f00"
android:text="Hello"
/>
<view
class="com.example.MyView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.0"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.0"
android:background="#00f"
android:text="World"
/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud) 我有一个自定义视图,扩展了其中一个框架类.ViewAndroid中的大多数s都为它们定义了一些默认属性(例如Button可点击,由设置android:clickable="true").
如何为自定义视图提供应用程序范围的默认值?
我有我attr.xml指定的自定义文档declare-styleable:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="EditTextValidateablePreference">
<attr name="errorMessage" format="reference" />
</declare-styleable>
</resources>
Run Code Online (Sandbox Code Playgroud)
然后在布局我设置:
<com.xx.yy.EditTextValidateablePreference
...
ns:errorMessage="@string/validation_email_mail_server_invalid"
/>
Run Code Online (Sandbox Code Playgroud)
在EditTextValidateablePreference.class我得到它:
String validatorErrorMessage = attrs.getAttributeValue(PREFERENCE_NS, "errorMessage");
Run Code Online (Sandbox Code Playgroud)
validatorErrorMessage 有一个像这样的值: @2131099700
如何获取其整数值以将其用于:
context.getResources().getString(messageId)
Run Code Online (Sandbox Code Playgroud)
?
谢谢 !
有没有办法为Android创建自定义XML数据类型?
我有一个Model包含我的实体的所有统计信息的类.我希望能够Model从类似的xml中扩展类 - 好吧,像View一样exaclty.这可能吗?
例:
<?xml version="1.0" encoding="utf-8"?>
<models xmlns:android="http://schemas.android.com/apk/res/android">
<model name="tall_model"
type="@string/infantry"
stat_attack="5"
>Tall Gunner</model>
<model name="short_model"
type="@string/infantry"
stat_attack="3"
ability="@resource/scout"
>Short Gunner</model>
<model name="big_tank"
type="@string/vehicle"
stat_attack="7"
armour="5"
>Big Tank</model>
</models>
Run Code Online (Sandbox Code Playgroud)
而我想要膨胀的课程.
class Model [extends Object] {
public Model(Context context, AttributeSet attrs) {
// I think you understand what happens here.
}
// ...
}
Run Code Online (Sandbox Code Playgroud) 我刚刚创建了课程VibratingTextView.我打算创建一个完整的小部件库,所以我想以正确的方式做到这一点.
此视图的xml:
<sherif.android.textview.VibratingTextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:text="outToRight" >
</sherif.android.textview.VibratingTextView>
Run Code Online (Sandbox Code Playgroud)
注意它有android:orientation和android:text.它接受a TextView和a 的属性LinearLayout.班级本身extends LinearLayout.
我的问题是在eclipse的xml编辑器中.当用户输入时android:,eclipse的intellisense为用户提供了此命名空间中可用的选项.
在我的例子中,它给出了LinearLayoutso 的属性,例如,Text并TextSize没有出现.
有没有办法让它们出现(使用android命名空间)?
如果没有,我应该用我定义的属性创建自己的命名空间吗?或者有没有办法导入android的属性并使其在sherif的属性中?
请记住,我正在使用传递的属性在我的类的构造函数中创建TextView.它工作正常,TextView的所有属性都正确设置.
由于我将创建许多其他小部件,我可能需要自己的命名空间,但最佳做法是什么?例如,我想创建alwaysVibrate属性.它会是这样的sherif:alwaysVibrate="true".我希望我的库可以包含和eclipse以显示我的命名空间的属性:我使用通常的方式使用attr.xml?
我有兴趣拥有一系列TextView,最终有一个悬挂缩进.通过CSS执行此操作的标准方法是将边距设置为X像素,然后将文本缩进设置为-X像素.显然我可以用"android:layout_marginLeft ="Xdp"来做第一个,但我不知道如何在TextView上施加-X像素.任何想法或解决方法?我感谢任何建议.
我用edittext和spinner创建了一个组合框控件.我试图让android:prompt属性传递给微调器,这意味着我需要在构造函数中捕获它,它传递我的AttributeSet并在微调器上设置它.我无法弄清楚如何获得提示的值.我尝试着,
int[] ra = { android.R.attr.prompt };
TypedArray ta = context.getTheme().obtainStyledAttributes(ra);
int id = ta.getResourceId(0, 0);
Run Code Online (Sandbox Code Playgroud)
我回到0,这意味着它没有找到属性.我还做了一个返回0的ta.count().所以我没有得到任何回报.
我的XML只是定义了一个android:提示符值.
谢谢
有没有办法在Android Studio的预览部分查看自定义字体/视图?
我使用font-awesome作为自定义字体在我的应用程序中显示麦克风图标.一切都很好.但是众所周知,预览部分无法加载自定义视图.
在编码时是否有任何插件或黑客可以在预览窗口中查看自定义视图?
这就是我在我的应用上加载的内容:
这是我在预览部分看到的:
我可以通过扩展ViewPager来禁用ViewPager以使用setPagingEnabled方法,但现在我只是想暂时禁用一个子节点.
我怀疑我必须通过访问ViewPager的setScrollState方法来覆盖OnPageScrolled并取消滚动,但我无法弄清楚如何.
我是初学者。我想为自定义 EditText 定义 xml,然后在运行时以编程方式添加这些自定义 edittext,而不使用一堆代码来自定义 editText。这可能类似于从库中实现自定义按钮、文本视图等......尽管它是我自己的。解决这个问题的最佳方法是什么?
谢谢!
xml customization android android-edittext programmatically-created
android ×12
android-xml ×2
xml ×2
alpha ×1
attr ×1
attributes ×1
custom-view ×1
font-awesome ×1
javascript ×1
text-indent ×1
textview ×1
view ×1