我尝试使用Porter-Duff Xfermodes在我的Android应用程序中擦除部分位图.
我有一个绿色背景,由蓝色位图覆盖.当我触摸屏幕时,应该创建覆盖位图中的"洞",使绿色背景可见.而不是一个洞,我当前的代码产生一个黑点.
以下是我的代码.任何想法,我在这里做错了什么?
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(new DrawView(this));
}
public class DrawView extends View implements OnTouchListener {
private int x = 0;
private int y = 0;
Bitmap bitmap;
Canvas bitmapCanvas;
private final Paint paint = new Paint();
private final Paint eraserPaint = new Paint();
public DrawView(Context context) {
super(context);
setFocusable(true);
setFocusableInTouchMode(true);
this.setOnTouchListener(this);
// Set background
this.setBackgroundColor(Color.GREEN);
// Set bitmap
bitmap = Bitmap.createBitmap(320, 480, …Run Code Online (Sandbox Code Playgroud) 我正在开发一个项目,需要基于相对复杂的规则集进行业务逻辑计算.calucations将在以下平台上执行:
业务逻辑不依赖于任何平台特定的细节,但严格来说是"数字运算".
为了避免Java和Objective C的双重实现,这需要精心测试等等,我想创建一个Java库,包含实现并在iOS应用程序中使用它.
最好的方法是什么?为Objective C做一个原生端口会更好吗?以相反的方式做它并在Objective C中编写库并在Android/Java上使用它会更好吗?
我有一个RelativeLayout包含两个TextViews和a的问题ImageView,我用它来显示一个项目ListView.这些项目在Android 1.6上正确显示,但在Android 2.2上,这些项目TextView是重叠的.
这是一个并排显示正确和错误行为的图像:

这是我的RelativeLayout的源代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:padding="6dip">
<ImageView
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:layout_marginRight="6dip"
/>
<TextView
android:id="@+id/secondLine"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:singleLine="true"
android:layout_below="@+id/firstLine"
android:layout_toRightOf="@id/icon"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
/>
<TextView
android:id="@+id/firstLine"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:ellipsize="marquee"
android:singleLine="true"
android:layout_toRightOf="@id/icon"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
/>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
知道我做错了什么吗?
非常感谢,
菲利普
关于Android 2.2上的AutocompleteView的建议项,我有一个奇怪的问题.我正在使用自定义ArrayAdapter和Filter类实现.
当我输入AutocompleteView时,输入两个字符后会弹出建议下拉菜单,如以下屏幕截图所示:

当我输入第三个字符时,下拉列表消失:

输入第四个字符后,将再次显示建议下拉列表:

我不明白为什么输入的字符数量不均匀时下拉列表会消失.
在调试时我注意到,当输入偶数字符时,getView()被调用两次,但是对于不均匀的数量,则调用一次.这可能是导致错误行为的原因吗?
这是我的源代码:
public class AutoCompleteActivity extends Activity {
protected AutoCompleteTextView autoCompleteView;
protected AutoCompleteAdapter suggsAdapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.autocomp);
autoCompleteView = (AutoCompleteTextView) findViewById(R.id.autocomplete);
autoCompleteView.setAdapter(new AutoCompleteAdapter(this, android.R.layout.simple_dropdown_item_1line, new String[1]));
}
private class AutoCompleteAdapter extends ArrayAdapter implements Filterable {
protected LayoutInflater mInflater;
protected Filter filter;
public AutoCompleteAdapter(Context context, int textViewResourceId, String[] items) {
super(context, textViewResourceId, items);
filter = new SuggestionsFilter();
mInflater = LayoutInflater.from(context);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) …Run Code Online (Sandbox Code Playgroud) 我正在使用以下方法在Android应用程序中使用SQLite数据库文件,该文件由存储在资产文件夹中的几部分创建而成: ReignDesign-在Android应用程序中使用自己的SQLite数据库
完成assemby进程后,我想检查数据库是否正确合并。我想到了以下方法:
您会推荐哪种方法?有没有更好的办法?
谢谢,
菲利普
android ×5
adapter ×1
autocomplete ×1
consistency ×1
file ×1
filter ×1
ios ×1
java ×1
overlap ×1
sqlite ×1