我正在使用自定义操作栏视图,如下面的屏幕截图所示,操作栏中有一个空白的灰色空间.我想删除它.

我做了什么:
RES /值-V11/styles.xml
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
<item name="android:actionBarStyle">@style/ActionBarStyle</item>
<item name="actionBarStyle">@style/ActionBarStyle</item>
</style>
Run Code Online (Sandbox Code Playgroud)
RES /值/ my_custom_actionbar.xml
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="ActionBarStyle" parent="@style/Widget.AppCompat.Light.ActionBar.Solid">
<item name="android:height">60dp</item>
</style>
</resources>
Run Code Online (Sandbox Code Playgroud)
表现
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="19" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/AppName"
android:theme="@style/AppBaseTheme" >
<!-- activities... etc -->
</application>
Run Code Online (Sandbox Code Playgroud)
主要活动
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
ActionBar actionbar = getSupportActionBar();
actionbar.setDefaultDisplayHomeAsUpEnabled(false);
actionbar.setDisplayHomeAsUpEnabled(false);
actionbar.setDisplayShowCustomEnabled(true);
actionbar.setDisplayShowHomeEnabled(false);
actionbar.setDisplayShowTitleEnabled(false);
actionbar.setDisplayUseLogoEnabled(false);
actionbar.setHomeButtonEnabled(false);
// Add the custom layout
View view = LayoutInflater.from(this).inflate(R.layout.actionbar, null, false);
actionbar.setCustomView(view);
}
Run Code Online (Sandbox Code Playgroud)
我发现了一篇最近的帖子,指出最新版本存在问题.我还将ADT和SDK更新到Android 5.
我不知道该怎么办.
编辑(部分解决方案):
不适用于Android <= API 10. …
我想从字符串中删除方括号,但我不知道如何.
String str = "[Chrissman-@1]";
str = replaceAll("\\[\\]", "");
String[] temp = str.split("-@");
System.out.println("Nickname: " + temp[0] + " | Power: " + temp[1]);
Run Code Online (Sandbox Code Playgroud)
但我的结果是:[克里斯曼| 1]方括号不会被删除.
我试着用不同的正则表达式:"\\[.*?\\]","\\[\\d+\\]"
但结果是一样的,方括号仍然附着在弦上.
编辑:
我试过了:
str.replaceAll("]", "");
str.replaceAll("[", "");
Run Code Online (Sandbox Code Playgroud)
现在我得到了:
Exception in thread "Thread-4" java.util.regex.PatternSyntaxException: Unclosed character class near index 0
[
^
at java.util.regex.Pattern.error(Unknown Source)
at java.util.regex.Pattern.clazz(Unknown Source)
at java.util.regex.Pattern.sequence(Unknown Source)
at java.util.regex.Pattern.expr(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.util.regex.Pattern.<init>(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.lang.String.replaceAll(Unknown Source)
Run Code Online (Sandbox Code Playgroud) 我不知道为什么,但是当我试图获取用户的个人资料图片时,我总是变为空.我是否需要设置一些特定权限才能获得访问权限?
以下是我的方法:
public static Bitmap getFacebookProfilePicture(String userID) throws SocketException, SocketTimeoutException, MalformedURLException, IOException, Exception
{
String imageURL;
Bitmap bitmap = null;
imageURL = "http://graph.facebook.com/"+userID+"/picture?type=large";
InputStream in = (InputStream) new URL(imageURL).getContent();
bitmap = BitmapFactory.decodeStream(in);
return bitmap;
}
Bitmap bitmap = getFacebookProfilePicture(userId);
Run Code Online (Sandbox Code Playgroud)
我变得空了.我不知道原因是什么?任何帮助都很明显.
我正在尝试编译.cpp文件,但我必须安装libssh2.我从libssh2.org下载了包,当我输入:./ buildd我得到:
无论是libtoolize还是glibtoolize都找不到!
我不知道该怎么做,我已经包含在头文件libssh2.h(#include)中,并且该文件确实存在于我拥有源文件的同一文件夹中,我正在尝试编译.
我有一个自定义视图(1066 x 738),我传递的是位图图像(720x343).我想缩放位图以适应自定义视图,而不超过父级的边界.

我希望实现这样的目标:

我该如何计算位图大小?
我如何计算新的宽度/高度:
public static Bitmap getScaledBitmap(Bitmap b, int reqWidth, int reqHeight)
{
int bWidth = b.getWidth();
int bHeight = b.getHeight();
int nWidth = reqWidth;
int nHeight = reqHeight;
float parentRatio = (float) reqHeight / reqWidth;
nHeight = bHeight;
nWidth = (int) (reqWidth * parentRatio);
return Bitmap.createScaledBitmap(b, nWidth, nHeight, true);
}
Run Code Online (Sandbox Code Playgroud)
但我所取得的成就是:

当我不在保留所有业务逻辑的自定义构建类中使用Context相关类(活动、片段、服务、视图等)时,我需要访问应用程序的本地化字符串ViewModel。例如,在 a的帮助下将 a发布String到:UILiveData
toastMessageLiveData.value = buildLastLoginToastMessage()
fun buildLastLoginToastMessage() {
val lastLoginDiff = (System.currentMillis() - getLastLogin()) / DateUtils.HOURS_IN_MILLIS
return MyApp.instance.getString(R.string.last_login_txt, lastLoginDiff)
}
Run Code Online (Sandbox Code Playgroud)
现在,Activity我正在观察LiveData的变化,并显示 Toast 消息。
这工作正常,但如果用户更改应用程序的语言就会出现问题。布局已更新,我可以看到使用了新语言环境的语言,但该MyApp.instance.getString(R.string....)功能仍在使用旧语言环境。如果我强制终止应用程序并重新启动它,它会工作,因为attachBaseContext再次调用应用程序并应用新的语言环境。但是,我不想强制终止应用程序,我需要一个解决方案来更新应用程序的配置。
用于创建或更新 Context
fun buildLocalizedContext(context: Context): Context {
// From preferences, load the saved Language and Country codes
val language = getSavedLanguage()
val country = getSavedCountry()
// Create the new locale
val locale = Locale(language, country) …Run Code Online (Sandbox Code Playgroud) 单击元素:
$('.my_list').click(function(){
var selected_object = $(this);
$('.my_list').each(function(){
var current_object = $(this);
if( selected_object == current_object ) alert('FOUND IT !');
});
});
Run Code Online (Sandbox Code Playgroud)
我不知道为什么,但我没有得到警告信息"发现它!".
我刚刚将Google Play服务库添加到我的项目中,当我在我的一个项目文件中进行修改时,我不断从eclipse获得一个错误对话框:
"运行Android Lint"遇到了问题.失败.
所以,我启用了错误日志(窗口 - >显示视图 - >错误日志)选项卡,我发现了一个警告和错误行:
错误:失败:com.android.ide.eclipse.adt
java.lang.NullPointerException
at com.android.tools.lint.checks.ApiDetector$ApiVisitor.checkField(ApiDetector.java:1416)
at com.android.tools.lint.checks.ApiDetector$ApiVisitor.visitSelect(ApiDetector.java:1277)
at com.android.tools.lint.client.api.JavaVisitor$DispatchVisitor.visitSelect(JavaVisitor.java:904)
at com.android.tools.lint.client.api.JavaVisitor$DelegatingJavaVisitor.visitSelect(JavaVisitor.java:1147)
at lombok.ast.Select.accept(Select.java:91)
at lombok.ast.MethodInvocation.accept(MethodInvocation.java:121)
at lombok.ast.ExpressionStatement.accept(ExpressionStatement.java:63)
at lombok.ast.Block.accept(Block.java:106)
at lombok.ast.MethodDeclaration.accept(MethodDeclaration.java:240)
at lombok.ast.NormalTypeBody.accept(NormalTypeBody.java:57)
at lombok.ast.ClassDeclaration.accept(ClassDeclaration.java:239)
at lombok.ast.CompilationUnit.accept(CompilationUnit.java:83)
at com.android.tools.lint.client.api.JavaVisitor.visitFile(JavaVisitor.java:219)
at com.android.tools.lint.client.api.LintDriver.checkIndividualJavaFiles(LintDriver.java:1624)
at com.android.tools.lint.client.api.LintDriver.runFileDetectors(LintDriver.java:993)
at com.android.tools.lint.client.api.LintDriver.checkProject(LintDriver.java:869)
at com.android.tools.lint.client.api.LintDriver.analyze(LintDriver.java:442)
at com.android.tools.lint.client.api.LintDriver.analyze(LintDriver.java:363)
at com.android.ide.eclipse.adt.internal.lint.LintJob.run(LintJob.java:163)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
Run Code Online (Sandbox Code Playgroud)
和警告:致命错误:在null处找不到API数据库
An exception stack trace is not available.
Run Code Online (Sandbox Code Playgroud)
我的应用程序正在运行,但每次进行编辑和保存时关闭对话框都很烦人.

我想使字符串"this link"加下划线和可点击,但我不知道如何实现.
XML文件:
<string name="submitText">Before you submit, please check out <u>this link</u></string>
Run Code Online (Sandbox Code Playgroud)
在我的片段中:
tvSubmit.setText(Html.fromHtml(getString(R.string.submitText)));
Run Code Online (Sandbox Code Playgroud)
我不希望整个字符串是可点击的,只有下划线部分.我不能使用LinearLayout2个单元格的水平,因为在较小的设备上,字符串不会有连续的外观,它将被分成2个单元格.
我试过了什么:
tvSubmit.setMovementMethod(LinkMovementMethod.getInstance());
Spannable sp = (Spannable) tvSubmit.getText();
ClickableSpan click = new ClickableSpan() {
@Override
public void onClick(View widget) {
showLink();
}
};
sp.setSpan(click, 0, sp.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
Run Code Online (Sandbox Code Playgroud)
上面的代码使整个字符串加下划线,并且文本的颜色也变为浅蓝色.
我有简单的TextView
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:rotation="45"
android:text="Simple text" />
Run Code Online (Sandbox Code Playgroud)
在Android 2.2.2上,文本不会旋转到45度.
我看到了不同的主题,但每个人都在做动画.我不想动画.我想要的只是旋转textview.