我在android中创建了widget并且它成功运行,但现在我想在widget的click事件上使用,以便我可以从中打开新的活动.
帮我
我有以下内容:
<EditText
android:inputType="number"
android:password="true"
....
</EditText>
Run Code Online (Sandbox Code Playgroud)
我收到一条警告,"android:password"已被弃用,我应该使用inputType.有没有办法将inputType指定为数字和密码?
我有一个Activity在配置更改(所需)上重新创建的.我有一个在布局中使用单个DialogFragment调用.setRetainInstance(true)EditText
在DialogFragment中,onActivityCreated我打电话给:
getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
Run Code Online (Sandbox Code Playgroud)
A)如果我打开键盘然后当我将应用程序放入背景然后将其带到foregournd然后我希望键盘仍然显示.
B)如果我关闭键盘(EditText仍有焦点并显示所需行为的光标),那么如果我将应用程序放入背景然后将其带到前台,我希望键盘仍然关闭.
我似乎无法同时实现A)和B).当我将应用程序带到前台时,键盘始终处于关闭状态.我试过.SOFT_INPUT_STATE_ALWAYS_VISIBLE但键盘始终打开.
提前感谢您对我如何实现这一目标的任何建议.我也希望在旋转时保持这种键盘状态,但是我要离开那一天了.彼得.
编辑 请注意,我不希望防止在配置改变而重新创建活动.
我还试验了WindowManager.LayoutParams.SOFT_INPUT_STATE_UNCHANGED在手机上旋转时保持键盘打开/关闭状态(单窗格布局)但是a)不适用于双窗格布局b)在将应用程序带到前台时没有保持键盘状态.
需要知道TextInputEditText和TextInputLayout之间究竟有什么区别,我们应该何时使用其中一个.
android android-widget android-studio android-design-library
我已经添加了一种风格
<style name="myRatingBar" parent="@android:style/Widget.RatingBar">
<item name="android:minHeight">32dp</item>
<item name="android:maxHeight">32dp</item>
</style>
Run Code Online (Sandbox Code Playgroud)
然而,不是缩放星星,我收到了星星:

有没有办法改变星星的大小?
我没有太多成功将动画应用于视图中的视图RemoteViews.
为了简单起见,假设我有一个带有a ImageView和a 的小部件Button.单击按钮时,我想向ImageView添加一个简单的动画(例如旋转).
因为我不能findViewById()像在an中那样使用Activity并且RemoteViews没有动画的setter,所以我不知道该怎么办.
我正在考虑使用新的布局替换窗口小部件的RemoteViews,类似于原始布局,但是这个已经加载了动画.我可以这样做吗?是否可以在布局中嵌入动画?
对于WidgetProvider,代码将是这样的:
Intent intent = new Intent(context, RotateService.class);
PendingIntent pendingIntent = PendingIntent.getService(context, 0, intent, 0);
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.a_widget);
views.setOnClickPendingIntent(R.id.a_button, pendingIntent);
appWidgetManager.updateAppWidget(appWidgetId, views);
Run Code Online (Sandbox Code Playgroud)
然后在RotateService中:
ComponentName myWidget = new ComponentName(this, MyWidget.class);
AppWidgetManager manager = AppWidgetManager.getInstance(this);
RemoteViews newViews = buildNewRemoteViewsWithAnimation();
manager.updateAppWidget(myWidget, newViews);
Run Code Online (Sandbox Code Playgroud)
还有其他建议吗?
这个很奇怪.我有一个列表视图,它是相对布局的一部分.我已为此相对布局设置了背景,并使列表视图背景变为透明.
现在,一切都很好,直到今天早上.即使我的列表视图中只有一行,我也可以看到整个屏幕都覆盖了我的自定义背景.
然后,我获得了Verizon Motorola Droid X for 2.3.3的更新(之前为2.2).一旦更新,我再次启动我的应用程序,现在发生了什么.
如果我的列表视图只有一行,我看到它下面有一个白色区域而不是我的自定义背景.但如果它说100行并因此覆盖整个屏幕我将不会看到奇怪的白色背景.我的相对布局的宽度和高度设置为"fill_parent".
我在底部发布了我的XML.有没有其他人遇到过这个问题,或者我犯了一些非常愚蠢的错误.
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:background = "@drawable/background"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView android:id = "@+id/listQueue"
android:layout_width = "fill_parent"
android:layout_height = "fill_parent"
android:layout_below = "@id/homeScreenBanner"
android:background="@android:color/transparent"
android:divider="@drawable/separator"
android:scrollingCache="false"/>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
编辑:
我想我找到了解决这个问题的方法:
将layout_height属性更改为wrap_content,它就像一个魅力.:)
更改后的行.
android:layout_height = "wrap_content"
我正在用小部件升级我的应用程序.这不是我做过的第一个小部件.我总是遇到奇怪的问题,但最终小部件在列表中出现了问题.
这是我到目前为止所做的:
Run Code Online (Sandbox Code Playgroud)<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" android:minWidth="110dp" android:minHeight="30dp" android:updatePeriodMillis="86400000" android:initialLayout="@layout/widget_layout" android:resizeMode="none"> </appwidget-provider>
<application>部分中添加了要显示的小部件(由于某种原因,此处无法粘贴清单片段,它只是没有显示,请在此处查看代码)仍然无法在小部件列表中找到小部件.我在真实设备上调试应用程序.我正在使用库项目,但是小部件文件,但我在项目中直接运行.这可能发生什么?
我是Android开发的新手,并且一直关注Android网站上提供的教程.我目前正在阅读Views的教程部分,特别是Grid Views:Hello,Grid View Tutorial.
我无法理解如何通过适配器进行查看.我知道您必须覆盖适配器类中的getView()方法,并在此方法中定义视图的设置方式.我不明白getView()实际上被调用的地方是什么?也许我在这里有错误的心态,但在下面的代码中(网格视图教程)我没有看到任何对getView()的调用(或适配器类中使用的任何其他东西,如getCount()) .
main.xml中
<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:columnWidth="90dp"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:stretchMode="columnWidth"
android:gravity="center" />
Run Code Online (Sandbox Code Playgroud)
Start.java
package com.examples.hellogridlayout;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
public class Start extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
GridView gridview = (GridView)findViewById(R.id.gridview);
gridview.setAdapter(new ImageAdapter(this));
gridview.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView<?> parent,View v, int position, long …Run Code Online (Sandbox Code Playgroud) 如何使编辑文本接受格式的输入
4digitnumber-4dignumber-4dignumber-4dignumber
Run Code Online (Sandbox Code Playgroud)
代码
text.addTextChangedListener(new TextWatcher() {
int len = 0;
String string ;
@Override
public void afterTextChanged(Editable s) {
text.setOnKeyListener(new OnKeyListener()
{ public boolean onKey(View v, int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_DEL)
{
}
else{
string = text.getText().toString();
len = string.length()+1;
if(len%5==0){text.append("-");}
}
return false; } });
}
});
Run Code Online (Sandbox Code Playgroud)
添加时工作正常,但删除或编辑会导致问题.