我有一个图像res/drawable/test.png(R.drawable.test).
我想将此图像传递给接受的函数Drawable.
(例如mButton.setCompoundDrawables())
那么如何将图像资源转换为Drawable?
我已将TextView以编程方式添加到LinearLayout中,并且在某些外部事件上,我希望将TextView的下边距减小到-10,因为我尝试了以下内容.
LinearLayout.LayoutParams lastTxtParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
lastTxtParams.setMargins(0, 0, 0, -10);
mOldTextView.setLayoutParams(lastTxtParams);
mOldTextView.invalidate();
Run Code Online (Sandbox Code Playgroud)
修改已添加到View的窗口小部件的边距是否正确?
一些如何不工作.
我有以下类,它从一个包中读取和写入一个对象数组:
class ClassABC extends Parcelable {
MyClass[] mObjList;
private void readFromParcel(Parcel in) {
mObjList = (MyClass[]) in.readParcelableArray(
com.myApp.MyClass.class.getClassLoader()));
}
public void writeToParcel(Parcel out, int arg1) {
out.writeParcelableArray(mObjList, 0);
}
private ClassABC(Parcel in) {
readFromParcel(in);
}
public int describeContents() {
return 0;
}
public static final Parcelable.Creator<ClassABC> CREATOR =
new Parcelable.Creator<ClassABC>() {
public ClassABC createFromParcel(Parcel in) {
return new ClassABC(in);
}
public ClassABC[] newArray(int size) {
return new ClassABC[size];
}
};
}
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,我ClassCastException在阅读时得到readParcelableArray:
ERROR/AndroidRuntime(5880):引起:java.lang.ClassCastException:[Landroid.os.Parcelable;
上面的代码有什么问题?在编写对象数组时,我应该先将数组转换为ArrayList? …
我要显示TEXT和Icon上一个按钮.
+----------------------------+
| Icon TEXT |
+----------------------------+
Run Code Online (Sandbox Code Playgroud)
我试过了
<Button
android:id="@+id/Button01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingLeft="40dip"
android:text="TEXT"
android:drawableLeft="@drawable/Icon" />
Run Code Online (Sandbox Code Playgroud)
但是,Text和Icon是不是在中心.根据文字大小,
我的Text尺寸会有所不同,应调整到中心位置. IconText
我该怎么办?
我有一个ListActivity,我正在显示一个列表:
setListAdapter(new ArrayAdapter<String>(getApplicationContext(),
android.R.layout.simple_list_item_single_choice, mStringList));
Run Code Online (Sandbox Code Playgroud)
默认情况下,列表项的文本颜色为白色,我想将列表中文本视图的文本颜色更改为黑色.
我该怎么办?
我有一个ListView,我想在列表视图项和滚动条之间放置间距/边距/填充.
:ListView:
+------------------------+------------+----------+
|List Item 1 | | |
+------------------------+ | |
|List Item 2 |----Space---| Scroll |
+------------------------+ | Bar |
|List Item 3 | | |
+------------------------+------------+----------+
Run Code Online (Sandbox Code Playgroud) 试图获得GtkEventBox的高度和宽度.
尝试了以下事情.
GtkRequisition requisition;
gtk_widget_get_child_requisition(widget, &requisition);
// Getting requisition.height 0
----------------------------------------------------------
widget->allocation-x //getting 0
widget->allocation-height //getting -1
----------------------------------------------------------
gtk_widget_get_size_request( widget, &height, &width); // Again getting 0
--------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
非常糟糕的是,Gtk没有提供简单的功能,可以为您提供实际显示的高度和小部件.
有人试图获得身高和GtkWidget吗?
我有一个班级,我有Drawable一个成员.
我用这个类作为Parcelable额外的活动跨活动发送数据.
为此,我扩展了parceble,并实现了所需的功能.
我能够使用读/写int/string发送基本数据类型.
但是在编组Drawable对象时我遇到了问题.
为此我试图转换Drawable为byte array,但我得到类强制转换异常.
我使用以下代码将我的Drawable转换为Byte数组:
Bitmap bitmap = (Bitmap)((BitmapDrawable) mMyDrawable).getBitmap();
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
byte[]byteArray = stream.toByteArray();
out.writeInt(byteArray.length);
out.writeByteArray(byteArray);
Run Code Online (Sandbox Code Playgroud)
并将字节数组转换为Drawable我使用以下代码:
final int contentBytesLen = in.readInt();
byte[] contentBytes = new byte[contentBytesLen];
in.readByteArray(contentBytes);
mMyDrawable = new BitmapDrawable(BitmapFactory.decodeByteArray(contentBytes, 0, contentBytes.length));
Run Code Online (Sandbox Code Playgroud)
当我运行这个时,我得到了类强制转换异常.
我们如何使用HashMap编写/传递Drawable?
我们有什么方法可以通过Parcel传递Drawable.
谢谢.
我试图禁用/禁用GTK +下的一些菜单项.我在C下创建了GTK + Glade菜单,在一些外部事件中我需要禁用一些菜单选项.
我怎样才能做到这一点?
如何在GetMethodID函数签名参数中指定我获取的函数id是否接受自定义类的数组?
我在java中有一个带签名的函数:
void getData( ListDataClass[] arryData )
Run Code Online (Sandbox Code Playgroud)
我想使用GetMethodID函数从JNI接口获取此函数的方法id.
为此,我在函数签名参数中提到如下:
"([myPackeg/ListDataClass)V"
Run Code Online (Sandbox Code Playgroud)
但这不起作用,我得到例外Method Not Found.如果我指定字符串类的数组,同样的事情.