我正在编写我的徽标活动和我的主要活动之间的过渡效果,但我有一个问题,即在消失之前,活动转移到顶部:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >
<alpha
android:duration="2000"
android:fromAlpha="0.0"
android:toAlpha="1.0" >
</alpha>
</set>
Run Code Online (Sandbox Code Playgroud)
我怎么能改进这个代码才能获得消失效果呢?
但我还没有找到改变状态文本颜色的方法.如果我将colorPrimaryDark设置为白色,我无法看到图标既不是状态栏的文本也不是因为它们的颜色也是白色.
有没有办法改变状态栏文字颜色?
提前致谢
我有一个关于如何取消订阅可观察量的问题.我有两个代码,我不确定哪个更好.
示例1 - >流完成后取消订阅订阅者:
Subscriber<String> subscriber = new Subscriber<String>() {
@Override
public void onCompleted() {
progressdialog.dissmiss();
unsubscribe();
}
@Override
public void onError(Throwable e) {
progressdialog.dissmiss();
}
@Override
public void onNext(String s) {
// do something with data
}
}
Run Code Online (Sandbox Code Playgroud)
示例2 - >销毁活动后取消订阅订阅:
private void test(){
Subscriber<String> subscriber = new Subscriber<String>() {
@Override
public void onCompleted() {
progressdialog.dissmiss();
}
@Override
public void onError(Throwable e) {
progressdialog.dissmiss();
}
@Override
public void onNext(String s) {
// do something with data
}
};
subscription …
Run Code Online (Sandbox Code Playgroud) 我正在编辑样式xml,试图让Activity标题变为粗体.
<style name="MyTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/MyActionBar</item>
</style>
<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:background">#81CFEB</item>
<item name="android:textStyle">bold</item>
</style>
Run Code Online (Sandbox Code Playgroud)
但只有我能设定的是所需的背景颜色.我不是为什么textStyle没有设置为粗体.
有谁知道如何解决它?
在我的第一个活动中,我有下一个代码:
ArrayList<HashMap<String, String>> list_params = new ArrayList<HashMap<String, String>>();
HashMap<String, String> param_aux = new HashMap<String, String>();
param_aux.put("language", Integer.toString(language_spinner.getSelectedItemPosition()));
param_aux.put("city", city_edittext.getText().toString());
list_params.add(param_aux);
Run Code Online (Sandbox Code Playgroud)
在我的第二个活动中,我想获取值,所以我的代码是:
ArrayList<HashMap<String, String>> list_params_ = new ArrayList<HashMap<String, String>>();
list_params_= (ArrayList<HashMap<String, String>>) getIntent().getSerializableExtra("list_params");
System.out.println("...serialized data.."+list_params_);
Run Code Online (Sandbox Code Playgroud)
如果我chech System.out,值正确发送但我想获得HashMap的特定值(例如:城市值).
...serialized data..[{weekend_midday_check=1, weekend_afternoon_check=0, weekend_morning_check=1, sort_by=0, language=0, weekly_afternoon_check=1, weekly_morning_check=1, weekly_midday_check=1, city=Terrassa}]
Run Code Online (Sandbox Code Playgroud)
如何获得第一项活动中发送的城市的价值?
我正在尝试用我的笔记本电脑和 Ubuntu 组装一个 Android 版本,但我不断收到由 dagger 生成的文件的错误:
error: error while writing DaggerMyLibraryBookmarksComponent$com_testx_baseapplication_presentation_common_dagger_component_ApplicationComponent_userManagerRepository.class (File name too long)
Run Code Online (Sandbox Code Playgroud)
这个错误很奇怪,因为在其他具有相同代码和相同的计算机中,我可以毫无问题地编译项目。
有没有人遇到过这个问题?
我在 Kotlin 中创建了这两个扩展来加密/解密字符串:
fun String.encrypt(seed : String): String {
val keyGenerator = KeyGenerator.getInstance("AES")
val secureRandom = SecureRandom.getInstance("SHA1PRNG")
secureRandom.setSeed(seed.toByteArray())
keyGenerator.init(128, secureRandom)
val skey = keyGenerator.generateKey()
val rawKey : ByteArray = skey.encoded
val skeySpec = SecretKeySpec(rawKey, "AES")
val cipher = Cipher.getInstance("AES/CBC/PKCS5Padding")
cipher.init(Cipher.ENCRYPT_MODE, skeySpec)
val byteArray = cipher.doFinal(this.toByteArray())
return byteArray.toString()
}
fun String.decrypt(seed : String): String {
val keyGenerator = KeyGenerator.getInstance("AES")
val secureRandom = SecureRandom.getInstance("SHA1PRNG")
secureRandom.setSeed(seed.toByteArray())
keyGenerator.init(128, secureRandom)
val skey = keyGenerator.generateKey()
val rawKey : ByteArray = skey.encoded
val skeySpec = SecretKeySpec(rawKey, "AES") …
Run Code Online (Sandbox Code Playgroud) 我有下一个代码:
dateDisplay1.setOnClickListener(new OnClickListener() {
@SuppressWarnings("deprecation")
public void onClick(View v) {
option = 1;
showDialog(DATE_DIALOG_ID);
}
});
Run Code Online (Sandbox Code Playgroud)
和onCreateDialog函数:
protected Dialog onCreateDialog(int id) {
Calendar cal = Calendar.getInstance();
switch (id) {
case DATE_DIALOG_ID:
return new DatePickerDialog(this, dayDate, cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH));
case TIME_DIALOG_ID:
return new TimePickerDialog(this, timeDate, cal.get(Calendar.HOUR_OF_DAY), cal.get(Calendar.MINUTE), false);
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
我想要做的是将不推荐使用的showDialog()调整为DialogFragment,但没有成功.下面的代码有效但不是最佳实践.所以我想纠正代码.
你应该如何实现呢?
我想在同一行放一个TextView,Edittext和一个按钮,但我遇到的问题是按钮未正确对齐到左边,在小屏幕中,edittext填充整个.
小屏幕:
大屏幕:
我的编纂如下:
<LinearLayout
android:id="@+id/layout1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/address_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/address_textview"
android:textStyle="bold" />
<EditText
android:id="@+id/address_edittext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/address_textview_hint"
android:imeActionLabel="@string/search_button"
android:imeOptions="actionDone"
android:inputType="textCapWords"
android:nextFocusDown="@id/address_edittext"
android:nextFocusUp="@id/address_edittext"
android:singleLine="true" />
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="right" >
<Button
android:id="@+id/go_button"
android:layout_width="50dp"
android:layout_height="35dp"
android:text="Go" />
</RelativeLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud) 我正在创建一个APP,只需要记录图像的内容.我需要在转换后文件仍然是图像,但显示的图像不显示为原始图像.
例如,我将加密的图像发送给其他用户,这个图像将能够显示和图像(但不是原始图像),但原始图像在该文件中被加密.
使用以下algorythm我加密了整个文件,由于标头也被加密,因此无法将其作为图像打开.
我正在使用这个algorythm,但我不知道如何只加密数据或如何在java/android中添加/修改图像的标题:
public byte[] encrypt_image(Bitmap bm, String password_) {
byte[] encryptedData = null;
try{
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.PNG, 100, baos);
byte[] b = baos.toByteArray();
byte[] keyStart = password_.getBytes();
KeyGenerator kgen = KeyGenerator.getInstance("AES");
SecureRandom sr = SecureRandom.getInstance("SHA1PRNG", "Crypto");
sr.setSeed(keyStart);
kgen.init(128, sr);
SecretKey skey = kgen.generateKey();
byte[] key = skey.getEncoded();
// Encrypt
encryptedData = Security.encrypt(key,b);
}catch (Exception e) {
Log.e("encrpyt_image()", e.getMessage());
}
return encryptedData;
}
Run Code Online (Sandbox Code Playgroud)
任何人都知道如何编写这个,我一直在互联网上搜索没有成功.
我正在创建一个正则表达式来验证城市字段.使用以下代码,我只能使用一个空格验证City字段:
Pattern pattern_ = Pattern.compile("^[a-zA-Z]+(?:[\\s-][a-zA-Z]+)*$");
Run Code Online (Sandbox Code Playgroud)
有关如何改进我的正则表达式以验证具有多个空格的城市字段的任何建议?
好吧,最后我正在使用这个正则表达式:
Pattern pattern_ = Pattern.compile("^[a-zA-Z]+(?:(?:\\s+|-)[a-zA-Z]+)*$");
Run Code Online (Sandbox Code Playgroud)
但是现在我遇到了重音问题如何在城市场地添加重音?