我想创建一个带有可滚动文本视图的 Android 小部件。
对于这个问题 Making TextView可滚动的Android的解决方案 不能应用,因为它是一个小部件:
1.这个
findViewById(R.id.textview).setMovementMethod(new MovementMethod());
Run Code Online (Sandbox Code Playgroud)
不起作用,因为findViewById在 中不可用,AppWidgetProvider而仅在 中可用Activity。
2.ScrollView放置aTextView也不起作用,因为我得到一个
InflateException:
android.view.InflateException: Binary XML file line #23: Error inflating class ScrollView
Run Code Online (Sandbox Code Playgroud)
有人可以给我一个提示,如何使TextViewWidget 中的 可以滚动吗?
android textview android-widget scrollable android-appwidget
我是android开发的新手,我想做一个像地图应用程序一样的下拉菜单.
架构:

例如,如果我单击第三个项目,我将获得有关我的项目事物的更多信息,以及一个或两个按钮来启动另一个活动.
谢谢.
嘿,我正在开发一个Android应用程序,我想连接到该应用程序内的Web.但是,我已经尝试了WebView到某些范围,但它在我的目录上显示文件很好但是当连接到google.com时它显示错误!
然后我添加了这个文件
<uses-permission android:name="android.permission.INTERNET" />
在我的Manifest.xml中,现在在浏览器中显示url(google.com)任何帮助我如何在我的应用程序中打开浏览器?
嗨即时通讯我的Android小部件有一个非常奇怪的问题,香港专业教育学院看起来很多地方,但我似乎无法弄清楚什么是错的.基本上我在我的小部件中调用pendingintent广播并成功地在onrecivie方法中捕获该意图.
但是在onRecive方法中,当我尝试使用RemoteViews为我的组件设置文本时,文本不会更新,也不会调用任何错误.我在下面附上了我的代码,任何帮助都会很棒.
谢谢,M
package com.android.FirstWidget;import android.app.PendingIntent;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ImageButton;
import android.widget.RemoteViews;
public class ExampleAppWidgetProvider extends AppWidgetProvider {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Log.e("ds",intent.getAction());
Log.e("f","f");
if(intent.getAction().contains("1")){
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.wid);
views.setTextViewText(R.id.textView1,"heyheyhey");
Log.e("fssss","sssf");
}
super.onReceive(context, intent);
}
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
final int N = appWidgetIds.length;
// Perform this loop procedure for each App …Run Code Online (Sandbox Code Playgroud) 我修正了以下问题.一个简单的改变.替换android:lines="1"为android:singleLine="true".
目前我的应用程序将小部件中的文本显示为Marquee.除了4.0版本之外,它在所有Android OS中都按预期工作.我已经在模拟器中测试了API级别14并且文本没有滚动(Marquee).下面是用于在Marquee效果中显示文本的布局xml.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:lines="1"
android:background="@android:color/background_dark"
android:ellipsize="marquee"
android:fadingEdge="horizontal"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:textColor="@android:color/white"
android:focusable="true"
android:focusableInTouchMode="true"
android:duplicateParentState="true"
android:textSize="20dp">
<requestFocus android:focusable="true" android:focusableInTouchMode="true"
android:duplicateParentState="true" />
</TextView>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
帮我解决这个问题.
提前致谢.
marquee android-widget android-layout android-4.0-ice-cream-sandwich
我正在尝试通过使用该setOnClickFillInIntent方法使我的ListView Widget中的listrows可单击,但每当我单击ListItem时都没有发生任何事情.以下是我的代码的一些关键部分:
Intent i = new Intent();
Bundle extras = new Bundle();
extras.putInt(Resource.WIDGET_PACKAGE, position);
i.putExtras(extras);
row.setOnClickFillInIntent(R.id.widget_layout_parent, i);
Run Code Online (Sandbox Code Playgroud)
这是getView()我的ViewFactory 的结尾.Resource.WIDGET_PACKAGE包含我的包名称,就像任何其他键一样.位置int来自getView()参数.R.id.widget_layout_parent是所有列表项中的父布局.
这是我的WidgetProviders的结束 onUpdate()
Intent clickIntent = new Intent(context, ItemListActivity.class);
PendingIntent clickPI = PendingIntent.getActivity(context, 0,
clickIntent, PendingIntent.FLAG_UPDATE_CURRENT);
widget.setPendingIntentTemplate(R.id.widget_layout_parent, clickPI);
appWidgetManager.notifyAppWidgetViewDataChanged(appWidgetIds[i],
R.id.widget_list_view);
Run Code Online (Sandbox Code Playgroud)
有什么我想念的,或者你还有什么想知道的吗?
所有帮助表示赞赏!:)
android android-widget android-listview remoteview android-pendingintent
我试图偏移一个按钮,并使其位置,以便它似乎挂在其他元素上.在这张图片中可以看到我正在寻找的东西...注意图像按钮,它是我的xml中的id ibLoginButton,红色箭头指向:

这是我的布局的xml,但我不知道如何使ibLoginButton具有这种效果.我是否需要以编程方式执行此操作?如果是这样,怎么样?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/db1_root"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<RelativeLayout
style="@style/TitleBar"
android:layout_height="54dp">
<ImageView
android:id="@+id/ivLoginPicture"
android:contentDescription="@string/description_logo"
android:src="@drawable/MDSLogoForLoginTrans"
android:background="#ffffffff"
android:layout_width="32dp"
android:layout_height="44dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_centerVertical="true" />
<TextView
android:id="@+id/tvLoginName"
android:text="Dr. Dentist"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="230.5dp"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/ivLoginPicture"
android:layout_centerVertical="true" />
<ImageButton
android:id="@+id/ibLogout"
android:src="@drawable/logoutButton"
android:layout_width="80dp"
android:layout_height="38dp"
android:layout_gravity="center_vertical"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:scaleType="fitXY"
android:paddingTop="0dp"
android:paddingRight="0dp"
android:paddingBottom="0dp"
android:paddingLeft="0dp" />
<ImageButton
android:src="@android:drawable/ic_menu_gallery"
android:layout_width="50dp"
android:layout_height="50dp"
android:id="@+id/ibLoginButton"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
</RelativeLayout>
<LinearLayout
android:id="@+id/HomePage"
android:layout_weight="1"
android:background="@drawable/home_background"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<GridView
android:id="@+id/Grid"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:columnWidth="90dp"
android:numColumns="auto_fit"
android:listSelector="@android:color/transparent"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:stretchMode="columnWidth"
android:gravity="center"
android:scrollbars="vertical" />
</LinearLayout> …Run Code Online (Sandbox Code Playgroud) 我想在网格和列表项目的项目单击上添加和替换片段 1 和片段 2 上的片段框架布局。
我创建了 main.xml 类
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<LinearLayout
android:layout_width="0dp"
android:layout_weight="1"
android:orientation="vertical"
android:layout_height="fill_parent" >
<fragment
android:id="@+id/fragment1"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
class="com.example.fragment.Fragment1" />
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="#000000" />
<fragment
android:id="@+id/fragment2"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
class="com.example.fragment.Fragment2" />
</LinearLayout>
<View
android:layout_width="1dp"
android:layout_height="fill_parent"
android:background="#000000" />
<FrameLayout
android:id="@+id/fragment3"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="2"/>
Run Code Online (Sandbox Code Playgroud)
这是我的 fragment_1.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingLeft="8dp"
android:paddingRight="8dp" >
<GridView
android:id="@+id/Grid1"
android:layout_width="match_parent"
android:numColumns="auto_fit"
android:columnWidth="100dp"
android:layout_height="0dp"
android:layout_weight="1"
android:drawSelectorOnTop="false" />
Run Code Online (Sandbox Code Playgroud)
这是我的 row_fragment1_list.xml
<?xml version="1.0" encoding="utf-8"?> …Run Code Online (Sandbox Code Playgroud) java android android-widget android-layout android-fragments
这是我在布局XML文件中得到的错误:
Exception raised during rendering: 0
Exception details are logged in Window > Show View > Error Log
The following classes could not be found:
- View (Change to android.view.View, Fix Build Path, Edit XML)
Run Code Online (Sandbox Code Playgroud)
我的Xml文件是:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/list_view_main_lin_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#00FFFFFF"
android:orientation="vertical" >
<ViewFlipper
android:id="@+id/search_view_flipper"
android:layout_width="fill_parent"
android:visibility="gone"
android:layout_height="@dimen/list_view_row_size" >
<LinearLayout
android:id="@+id/search_lin_layout"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:gravity="center_vertical" >
<TextView
android:id="@+id/search_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:drawableLeft="@drawable/search_ico"
android:drawablePadding="10dp"
android:gravity="center_vertical"
android:text="@string/search_text_view"
android:textColor="#FF37200e"
android:textSize="@dimen/text_view_left_menu" />
</LinearLayout>
<RelativeLayout
android:id="@+id/search_edit_text_relative_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<EditText
android:id="@+id/search_edit_text"
android:layout_width="match_parent" …Run Code Online (Sandbox Code Playgroud) 我正在尝试找到一种方法来自动添加小部件,而无需用户通过启动器手动将其添加到主页或锁定屏幕(最好是两者,但至少锁定屏幕).
这是我必须将小部件添加到主屏幕.我错过了什么?
public class MyWidgetProvider extends AppWidgetProvider {
private static final String ACTION_CLICK = "ACTION_CLICK";
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
ComponentName thisWidget = new ComponentName(context,
MyWidgetProvider.class);
int[] allWidgetIds = appWidgetManager.getAppWidgetIds(thisWidget);
final List<AppWidgetProviderInfo> infos = appWidgetManager.getInstalledProviders();
AppWidgetProviderInfo appWidgetInfo = null;
for (final AppWidgetProviderInfo info : infos) {
Log.v("AD3", info.provider.getPackageName() + " / "
+ info.provider.getClassName());
}
for (final AppWidgetProviderInfo info : infos) {
if (info.provider.getClassName().equals(thisWidget.getClassName()) && info.provider.getPackageName().equals(thisWidget.getPackageName())) {
appWidgetInfo = info;
break;
}
}
if (appWidgetInfo …Run Code Online (Sandbox Code Playgroud) android-widget ×10
android ×9
java ×2
android-4.0-ice-cream-sandwich ×1
browser ×1
lockscreen ×1
marquee ×1
remoteview ×1
scrollable ×1
textview ×1