标签: android-widget

使用LinearLayout的自定义小部件无法获取onDraw()

我正在通过扩展来创建自定义小部件LinearLayout:

public class MyWidget extends LinearLayout {
    private static Paint PAINT = new Paint(Paint.ANTI_ALIAS_FLAG);
    static {
        PAINT.setColor(Color.RED);
    }

    public MyWidget(Context context) {
        this(context, null);
    }

    public MyWidget(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        canvas.drawCircle(canvas.getWidth() / 2, canvas.getHeight()/2, canvas.getWidth()/2, PAINT);
        // never gets called :-(
    }

    @Override
    protected void dispatchDraw(Canvas canvas) {
        super.dispatchDraw(canvas);
        // this gets called, but with a canvas sized after the padding.
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以添加孩子就好了,但我从来没有让我的自定义onDraw()被调用.dispatchDraw() …

android android-widget ondraw android-linearlayout

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

EditText提示未显示

EditText配置如下将不会显示提示:

<EditText
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="right"
    android:hint="The hint..."
    android:scrollHorizontally="true"
    android:singleLine="true" />
Run Code Online (Sandbox Code Playgroud)

它可以工作,如果我设置android:gravity="left"或如果我删除android:scrollHorizontallyandroid:singleLine属性,这是不可取的.有什么建议?

android hint android-widget android-edittext

47
推荐指数
5
解决办法
3万
查看次数

使用带有视图而非活动的Android选项卡的示例?

Android Developers TabWidget教程说明如下:

"您可以通过以下两种方式之一实现选项卡内容:使用选项卡交换同一活动中的视图,或使用选项卡在完全独立的活动之间进行更改."

本教程继续演示如何在单独的活动中使用选项卡.我一直无法找到在同一个Activity中使用包含不同视图的标签的示例.我宁愿不重新发明这个特定的轮子,所以我希望有人知道这是怎么做的,并且可以让我知道.谢谢!

java android android-widget

46
推荐指数
1
解决办法
4万
查看次数

如何解决Android Widget的"进程坏"错误?

我开发了一个Android Widget,它工作正常.我添加了一些额外的功能,并推动了Android Market的更新.现在人们抱怨说它不再起作用了.

我在日志中看到的错误是:

07-14 10:33:44.016: WARN/ActivityManager(78): Unable to launch app ... 
for broadcast Intent { act=android.appwidget.action.APPWIDGET_ENABLED 
cmp=... }: process is bad 
07-14 10:33:44.026: WARN/ActivityManager(78): finishReceiver called 
but none active 
07-14 10:33:44.026: WARN/ActivityManager(78): Unable to launch app ... 
for broadcast Intent { act=android.appwidget.action.APPWIDGET_UPDATE 
cmp=... (has extras) }: process is bad 
07-14 10:33:44.036: WARN/ActivityManager(78): finishReceiver called 
but none active 
Run Code Online (Sandbox Code Playgroud)

我已经搜索过了,但是我无法找到任何错误的过程是错误的意思,所以我不知道如何修复它.重新启动手机(或模拟器)会使错误消失,但这不是我希望用户做的事情.有人可以帮我解释错误的原因是什么以及如何解决它?

android android-widget

45
推荐指数
3
解决办法
2万
查看次数

ListView带有可点击/可编辑的小部件

当Items布局有可点击/可编辑的小部件(RadioButton,EditText或CheckBox)时,是否可以在ListView上使用OnItemClickListener?

android android-widget

44
推荐指数
3
解决办法
4万
查看次数

将TextView的文本相对于其drawableLeft图像垂直居中

我有这个组件:

<TextView
    android:id="@+id/item_name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:drawableLeft="@drawable/icon" />
Run Code Online (Sandbox Code Playgroud)

drawableLeft属性中的图像大于文本的字体,因此我希望文本相对于图像垂直居中.我怎么能得到这个效果?

android android-widget android-layout

44
推荐指数
3
解决办法
2万
查看次数

使用选择器更改TextView文本颜色

我正在尝试使用TextView在tabhost上定义TabWidget的样式.

我刚刚为bgcolor创建了一个选择器并且工作正常,但我想为textColor创建一个选择器,但文本颜色不会改变:

这是我的tab_text_selector.xml:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
     <item android:state_selected="true" android:color="@android:color/white" />
    <item android:state_focused="true" android:color="@android:color/white" />
    <item android:state_pressed="true" android:color="@android:color/white" />

</selector>
Run Code Online (Sandbox Code Playgroud)

当我尝试在textView上使用时,这是代码:

TextView txtTab=new TextView(this);
        txtTab.setTextColor(R.drawable.tab_text_selector);
        txtTab.setBackgroundResource(R.drawable.tab_bg_selector);
        txtTab.setGravity(Gravity.CENTER);
        txtTab.setText("Agregar Idea");
Run Code Online (Sandbox Code Playgroud)

我知道文本颜色在任何情况下都必须是白色,但事实并非如此.

android android-widget

44
推荐指数
5
解决办法
8万
查看次数

如何更改CheckBox的默认图像

我正在使用ListView,每行我都有row_item.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"
    >
    <CheckBox
        android:id="@+id/chk"
        android:layout_alignParentLeft="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
    <TextView
        android:id="@+id/txtChoice"
        android:textColor="#FF0000"
        android:text="TEST"
        android:layout_toRightOf="@id/chk"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" /> 
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

如何更改该复选框在选中时使用另一个custom_1图像,如果未选中则更改另一个custom_2图像?

android android-widget android-layout

43
推荐指数
2
解决办法
6万
查看次数

Android小部件的按钮单击事件

我有一个android小部件,每隔10分钟从服务器获取数据并在屏幕上显示它.
我想为该小部件添加一个"刷新"按钮.
当用户单击该按钮时,我想运行从服务器获取信息的方法.
将事件处理程序添加到应用程序中的按钮非常容易,但是我找不到窗口小部件的示例.
我想帮助为小部件中的按钮单击添加功能.

android android-widget

43
推荐指数
4
解决办法
5万
查看次数

"_Problem Loading Widget"消息

当加载小部件时,如果它找不到资源或其他东西,则说明问题加载小组件.就这样!惊人!此消息仍保留在主屏幕上,甚至没有说明哪个小部件无法加载.

我通过反复试验弄清楚但是我想知道是否有任何地方可以在发生这种情况时找到错误消息.Android会在哪里说出加载小部件的问题,甚至是哪个小部件无法加载?

java android loading android-widget android-layout

42
推荐指数
4
解决办法
3万
查看次数