小编znq*_*znq的帖子

Android:在Button或ImageButton上组合文本和图像

我正在尝试在按钮上创建一个图像(作为背景)并动态添加,具体取决于运行时发生的情况,图像上方/上方的一些文本.

如果我使用ImageButton我甚至没有可能添加文本.如果我使用,Button我可以添加文本,但只定义具有此处android:drawableBottom定义的XML属性的图像.

然而,这些属性仅在x和y维度中组合文本和图像,这意味着我可以在文本周围绘制图像,但不能在我的文本下方/下方(z轴定义为从显示中出来).

有关如何做到这一点的任何建议?一个想法是扩展ButtonImageButton覆盖draw()-method.但凭借我目前的知识水平,我真的不知道如何做到这一点(2D渲染).也许有经验的人知道解决方案或至少有一些指针可以开始?

android text image button

526
推荐指数
14
解决办法
53万
查看次数

我该如何验证电子邮件地址?

在Android中验证电子邮件地址(例如来自用户输入字段)的好方法是什么?org.apache.commons.validator.routines.EmailValidator似乎不可用.有没有其他图书馆这样做已经包含在Android中,或者我是否必须使用RegExp?

android email-validation

312
推荐指数
16
解决办法
21万
查看次数

Android:View.setID(int id)以编程方式 - 如何避免ID冲突?

我在for循环中以编程方式添加TextViews并将它们添加到ArrayList.

我该怎么用TextView.setId(int id)?我提出了什么整数ID,所以它不与其他ID冲突?

android conflict android-view

305
推荐指数
10
解决办法
23万
查看次数

Android:具有多个可单击按钮的ListView元素

我有一个ListView地方,列表中的每个元素都包含一个TextView和两个不同的按钮.像这样的东西:

ListView
--------------------
[Text]
[Button 1][Button 2]
--------------------
[Text]
[Button 1][Button 2]
--------------------
... (and so on) ...
Run Code Online (Sandbox Code Playgroud)

使用此代码,我可以OnItemClickListener为整个项目创建一个:

listView.setOnItemClickListener(new OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> list, View view, int position, long id) {
        Log.i(TAG, "onListItemClick: " + position);

        }

    }
});
Run Code Online (Sandbox Code Playgroud)

但是,我不希望整个项目是可点击的,而只是每个列表元素的两个按钮.

所以我的问题是,如何使用以下参数为这两个按钮实现onClickListener:

  • int button (单击了元素的哪个按钮)
  • int position (这是按钮单击发生的列表中的元素)

更新:我找到了一个解决方案,如下面的答案中所述.现在我可以通过触摸屏点击/点击按钮.但是,我无法使用轨迹球手动选择它.它总是选择整个列表项,并从那里直接进入下一个列表项忽略按钮,即使我设置.setFocusable(true)setClickable(true)按钮getView().

我还将此代码添加到我的自定义列表适配器:

@Override
public boolean  areAllItemsEnabled() {
    return false;           
}

@Override
public boolean isEnabled(int position) {
        return false;
} …
Run Code Online (Sandbox Code Playgroud)

android listview button

182
推荐指数
6
解决办法
22万
查看次数

Android:为什么视图没有maxHeight?

View有一个minHeight但不知何故缺少一个maxHeight:

我想要实现的是让一些项目(视图)填满ScrollView.当有1..3项时,我想直接显示它们.意味着它ScrollView具有1,2或3个项目的高度.

当有4个或更多项目我希望ScrollView停止扩展(因此a maxHeight)并开始提供滚动.

但是,遗憾的是没有办法设置maxHeight.因此,我可能必须以ScrollView编程方式WRAP_CONTENT将高度设置为有1..3项3*sizeOf(View)时的高度,并将高度设置为有4个或更多项时的高度.

任何人都可以解释为什么没有maxHeight提供,什么时候已经有minHeight

(顺便说一下:有些观点,比如ImageView已经maxHeight实施了.)

layout android view autoresize

168
推荐指数
7
解决办法
11万
查看次数

Android:TextView自动截断并替换String的最后3个字符

如果a String长于TextView宽度,它会自动换行到下一行.我可以通过使用android:singleLine(已弃用)或通过设置来避免这种情况android:inputType="text".我现在需要的是String用" ...... " 代替我的最后3个字符.由于我没有使用等宽字体,因此根据我使用的字母不同,这将总是不同的String.所以我想知道在a中获取字符串的最后3个字符的最佳方法是什么,TextView并替换它们.也许已经在Android框架中实现了一些东西,因为这必然是一个常见的问题.

java android textview

122
推荐指数
3
解决办法
8万
查看次数

如何为Android开发软键盘?

我想玩一些想法并开发Android的软键盘来取代默认的键盘.

  • 有关于Android的软键盘开发的一般信息吗?任何最佳做法或指南?

  • 我可以用我的键盘应用程序完成任何我可以使用普通Android应用程序做的事情吗?

  • 我可以进行HTTP连接以将键盘数据与云数据库和我拥有的其他手机同步吗?

  • 我可以通过按键打开其他窗口/屏幕,例如显示与普通QWERTY不同的自定义输入界面.如果这不起作用,我可以使用弹出对话框吗?

keyboard android

110
推荐指数
3
解决办法
10万
查看次数

Android:HTTP通信应该使用"Accept-Encoding:gzip"

我与请求JSON数据的Web服务器进行HTTP通信.我想用这个压缩这个数据流Content-Encoding: gzip.有没有办法Accept-Encoding: gzip在我的HttpClient中设置?gzipAndroid参考中的搜索不会显示与HTTP相关的任何内容,您可以在此处看到.

android gzip http content-encoding

108
推荐指数
3
解决办法
6万
查看次数

使用Storyboard自定义视图

在复杂的屏幕(视图控制器)中,我曾经将整个事物分成小块(我称之为小部件).这些小部件基本上由一个MyWidget.h和一个MyWidget.m文件以及一个MyWidget.xib文件组成,其中根元素是a UIView,而MyWidget类是UIView的文件所有者.在这个小部件的init中,我做了一个loadNibNamed.

在我的View Controller中,然后执行a [[MyWidget alloc] init],我将其作为子视图添加到View的Controller主视图中.到目前为止,这完美地运作.

我现在想知道,如何对故事板做同样的事情,因为我无法真正开始拖入UIView某个地方,我总是要从一个开始UIViewController,我不想这样做.

如果使用Storyboard无法做到这一点,我可以简单地使用故事板进行主屏幕和segue,并使用单独的.xib文件来定义自定义视图吗?

storyboard xib ios

96
推荐指数
2
解决办法
7万
查看次数

Android Emulator:选择AVD(Android虚拟设备)默认运行

我添加了第二个虚拟设备来测试不同的屏幕分辨率(QVGA),但现在我想再次切换回第一个AVD(HVGA).如何在Eclipse中将虚拟设备设置为默认使用,甚至专门用于我的项目?在属性中,我只能设置API级别.

我也无法在命令行工具文档中找到任何手动设置此信息的信息.

eclipse android android-virtual-device

78
推荐指数
1
解决办法
5万
查看次数