所以我创建了一个名为CustomTitlebarActivity的Activity子类.基本上,我的应用程序中的每个主要活动都将有一个自定义标题栏,其中包含许多常用功能,如主页按钮,标题,搜索按钮等.在我当前的实现中,我仍然在布局XML中明确使用include语句每个CustomTitlebarActivity:
<include layout="@layout/titlebar" />
Run Code Online (Sandbox Code Playgroud)
我应该能够在CustomTitlebarActivity中执行此操作,这似乎很自然.我有两个问题:什么代码可以替换此包含标记,我应该在哪里放置代码?(我的第一直觉是将它放在CustomTitlebarActivity的setContentView方法中.)
在相关的说明中,我希望能够深入了解重用Android UI代码的更好方法(即使本身标题栏需要在活动之间略有不同.)
有没有办法Activity找出谁(即班级名称)发送了Intent?我正在寻找一种通用的方式让我Activity回复收到的意图,然后将一个回发给发件人,无论是谁.
我正在使用第三方库(Twitter4j)开发Android应用程序.我希望能够在JUnit和功能测试中模拟那些对象(也是我创建的对象).
您是否有使用某些模拟库的好经验,您可以推荐它们吗?
在Android的软键盘上,您可以设置软键盘以显示数字而不是使用az键盘android:inputType="numberDecimal".但是,如果我只想显示顶部数字行1 2 3 4 5 6 7 8 9 0而不是以下行开头,我该怎么办@ # $ % ...?
Thanx听!
我在捕获图像并将其存储在本机相机应用程序时遇到问题.以下是我的一些代码示例.
_path = Environment.getExternalStorageDirectory() + "make_machine_example.jpg";
File file = new File( _path );
Uri outputFileUri = Uri.fromFile( file );
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE );
intent.putExtra( MediaStore.EXTRA_OUTPUT, outputFileUri );
startActivityForResult( intent, 0 );
Run Code Online (Sandbox Code Playgroud)
拍完照片后我又回到原来的活动中,当我通过Android DDMS文件浏览器导航到我的SD卡时,图片不存在.任何人都知道为什么没有得救?
camera android android-intent android-camera android-camera-intent
我正在研究FrameLayout的子类,它应该将其所有子项旋转90度.我这样做是为了克服Android 2.1及以下版本中仅限风景的相机限制,让活动处于风景中,但将我的相机叠加放入此framelayout叠加层,使其看起来像是肖像(这就是如何Layar做到了)为了做到这一点,我正在调整Jeff Sharkey的代码来旋转视图.我的问题是我可以旋转Framelayout,但我不能调整它以匹配新的尺寸.所以在我的g1上,而不是在景观中480x320相机视图上的320x480纵向视图,我在中间看到一个320x320的盒子,显示我的纵向视图,两侧被切掉.
到目前为止,这是我的代码:
public class RotateLayout extends FrameLayout {
private Matrix mForward = new Matrix();
private Matrix mReverse = new Matrix();
private float[] mTemp = new float[2];
public RotateLayout(Context context) {
super(context);
}
public RotateLayout(Context context, AttributeSet attrs) {
super(context, attrs);
}
/* (non-Javadoc)
* @see android.widget.FrameLayout#onMeasure(int, int)
*/
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
//This didn't work:
//super.onMeasure(heightMeasureSpec, widthMeasureSpec);
}
/* (non-Javadoc)
* @see android.widget.FrameLayout#onSizeChanged(int, int, int, int)
*/
@Override …Run Code Online (Sandbox Code Playgroud) 我有一个ListView地方,我在一个单独的XML文件中定义了每个项目的布局.在这个文件中,我包含了一个RatingBar和一个EditText.
我已经以编程方式创建了7-8个项目ListView.当我滚动它们时,它似乎是非常错误的.这里有些例子:
如果我将焦点设置到EditText第一行然后向下滚动,则其他行中的ListView随机EditTexts将具有焦点.似乎是EditText在焦点消失后的下一个消失得到了焦点.也许这是故意的,但是,作为一个用户,它似乎很奇怪.
如果我将焦点设置为a EditText,接收虚拟键盘,键入内容,然后单击虚拟键盘上的"完成"按钮,EditText一旦虚拟键盘消失,它将清空.
有时,当我点击一个EditText,接收一个虚拟键盘并开始输入字母时,一旦我输入它们,这些字母就会消失.
当我点击一个EditText,虚拟键盘显示自己,但EditText失去焦点,我必须EditText再次点击.
尽管我已经设置了RatingBar到focusable="false",如果我将我的滚轮,它仍然抓住重点.
我的一个问题是,当我在虚拟键盘中键入一个字符时,所有可见的列表项都会重新绘制(并且由于文本EditText被设置为某些数据,这是空的,它会被清除.我不明白为什么Android会每次键入一个字符时都决定重新绘制列表.
这是我用来绘制它们的XML.它们是白色气泡,带有灰色边框,还有一些文字,一个RatingBar和一个EditText内部:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="10dip"
android:paddingBottom="10dip"
android:paddingLeft="15dip"
android:paddingRight="15dip"
>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="2dip"
android:background="@drawable/shape_outer">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="2dip"
android:background="@drawable/shape_inner">
<TextView
android:id="@+id/rating_category"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/dark_gray"
android:textStyle="bold"
android:layout_marginBottom="10dip" />
<RatingBar …Run Code Online (Sandbox Code Playgroud) android ×10
animation ×1
camera ×1
include ×1
java ×1
listview ×1
listviewitem ×1
mocking ×1
textview ×1
unit-testing ×1