小编Kap*_*put的帖子

按钮内的文字太大自动调整大小?

我遇到的问题是在应用程序上更改本地化时,某些单词的字符长度比以前的语言长,因此按钮的大小存在问题,因为它们最初只是为英语制作的。

英语语言环境截图

在此处输入图片说明

西班牙语言环境截图

在此处输入图片说明

我知道我可以添加android:maxLines="1"但这不能解决我的问题,因为文本太大。我尝试对文本大小使用 textview auto sizer,但这并没有解决问题。

有没有人有建议?

java android

5
推荐指数
1
解决办法
488
查看次数

Android - 无法打开数据库

db.sqliteAsset文件夹中有我的文件,当我尝试打开它时出现此错误:

android.database.sqlite.SQLiteCantOpenDatabaseException:未知错误(代码14):无法打开数据库

我尝试了不同的路径和名称(有和没有扩展名),但我不能使它工作.

package com.example.APP.db;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import android.content.Context;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.database.sqlite.SQLiteOpenHelper;
import android.widget.Toast;

public class DataBaseHelper extends SQLiteOpenHelper {

// The Android's default system path of your application database.
private static String DB_PATH = "/data/data/com.example.APP/databases/";
private static String DB_NAME = "app";
private SQLiteDatabase myDataBase;
private final Context myContext;

/**
 * Constructor Takes and keeps a reference of the passed context in order …
Run Code Online (Sandbox Code Playgroud)

sqlite android

4
推荐指数
1
解决办法
9666
查看次数

Android AbsListView $ RecycleBin.addScrapView(AbsListView.java:6588)

所以,我不明白为什么会出现这个错误:

04-06 17:51:10.252:E/AndroidRuntime(10745):致命异常:主04-06 17:51:10.252:E/AndroidRuntime(10745):进程:com.stm.classlife,PID:10745 04-06 17:51:10.252:E/AndroidRuntime(10745):java.lang.ArrayIndexOutOfBoundsException:length = 2; index = 2 04-06 17:51:10.252:E/AndroidRuntime(10745):在android.widget.AbsListView $ RecycleBin.addScrapView(AbsListView.java:6588)04-06 17:51:10.252:E/AndroidRuntime(10745 ):在android.widget.ListView.layoutChildren(ListView.java:1632)04-06 17:51:10.252:E/AndroidRuntime(10745):在android.widget.AbsListView.onTouchMove(AbsListView.java:3763)04- 06 17:51:10.252:E/AndroidRuntime(10745):在android.widget.AbsListView.onTouchEvent(AbsListView.java:3632)04-06 17:51:10.252:E/AndroidRuntime(10745):在android.view. View.dispatchTouchEvent(View.java:8471)04-06 17:51:10.252:E/AndroidRuntime(10745):at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2399)04-06 17:51:10.252: E/AndroidRuntime(10745):在android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2092)04-06 17:51:10.252:E/AndroidRuntime(10745):at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java) :2405)04-06 17:51:10.252:E/AndroidRuntime(10745):在android.view.ViewGroup.dispatchTouchEv ent(ViewGroup.java:2106)04-06 17:51:10.252:E/AndroidRuntime(10745):at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2405)04-06 17:51:10.252:E/AndroidRuntime(10745):在android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2106)04-06 17:51:10.252:E/AndroidRuntime(10745):at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2405) )04-06 17:51:10.252:E/AndroidRuntime(10745):在android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2106)04-06 17:51:10.252:E/AndroidRuntime(10745):atroid .view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2405)04-06 17:51:10.252:E/AndroidRuntime(10745):at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2106)04-06 17:51 :10.252:E/AndroidRuntime(10745):at com.android.internal.policy.impl.PhoneWindow $ DecorView.superDispatchTouchEvent(PhoneWindow.java:2369)04-06 17:51:10.252:E/AndroidRuntime(10745):at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWind ow.java:1719)04-06 17:51:10.252:E/AndroidRuntime(10745):在android.app.Activity.dispatchTouchEvent(Activity.java:2742)04-06 17:51:10.252:E/AndroidRuntime( 10745):在android.support.v7.app.ActionBarActivityDelegateICS $ WindowCallbackWrapper.dispatchTouchEvent(ActionBarActivityDelegateICS.java:268)04-06 17:51:10.252:E/AndroidRuntime(10745):at com.android.internal.policy.impl .PhoneWindow $ DecorView.dispatchTouchEvent(PhoneWindow.java:2330)04-06 17:51:10.252:E/AndroidRuntime(10745):at android.view.View.dispatchPointerEvent(View.java:8666)04-06 17:51 :10.252:E/AndroidRuntime(10745):在android.view.ViewRootImpl $ ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4123)04-06 17:51:10.252:E/AndroidRuntime(10745):at android.view.ViewRootImpl $ ViewPostImeInputStage.onProcess(ViewRootImpl.java:3989)04-06 17:51:10.252:E/AndroidRuntime(10745):at android.view.ViewRootImpl $ InputStage.deliver(ViewRootImpl.java:3544)04-06 17:51: 10.252:E/AndroidRuntime(10745):在android.view.Vi ewRootImpl $ InputStage.onDeliverToNext(ViewRootImpl.java:3597)04-06 17:51:10.252:E/AndroidRuntime(10745):at …

android listview

4
推荐指数
1
解决办法
1938
查看次数

如何直接从 Android 应用程序打开 YouTube 视频链接?

我想通过单击Button来播放 YouTube 视频,但我收到了一个我不想显示的操作对话框窗口。我希望 YouTube 视频链接应在单击按钮时直接在 YouTube 应用程序中打开,而不是显示此“选择操作”窗口:

在此输入图像描述

这怎么可能?

代码:

 playVideo.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.youtube.com/watch?v=bzSTpdcs-EI")));
        }
    });
Run Code Online (Sandbox Code Playgroud)

youtube android android-intent

4
推荐指数
1
解决办法
1万
查看次数

如何在Android的AlertDialog框中以粗体显示消息并显示换行

我想AlertDialog在两行中显示消息,在一行中以粗体显示文本,在下一行显示简单文本(无任何样式)。

现在,如果我使用粗体文本执行换行,则换行了但文本未显示为粗体。为什么呢 谁能帮我。

代码:

AlertDialog.Builder alertDialog = new AlertDialog.Builder(this);
    alertDialog.setTitle("Alert");
    Spanned s1 = Html.fromHtml("<b>" + "Text in Bold"+ "</b>");
    String s2 = "Normal Text";
    alertDialog.setMessage(s1+ "\n" + s2);
AlertDialog dialog = alertDialog.create();
dialog.show();
Run Code Online (Sandbox Code Playgroud)

android android-alertdialog

3
推荐指数
1
解决办法
1139
查看次数

致命异常:java.lang.RuntimeException:系统失败

我在遇到崩溃的报告时经常不知道为什么这个例外?

 Fatal Exception: java.lang.RuntimeException: Failure from system
   at android.app.Instrumentation.execStartActivity(Instrumentation.java:1547)
   at android.app.Activity.startActivityForResult(Activity.java:4283)
   at android.app.Activity.startActivityForResult(Activity.java:4230)
   at android.support.v4.app.FragmentActivity.startActivityForResult(Unknown Source)
   at android.app.Activity.startActivity(Activity.java:4567)
   at android.app.Activity.startActivity(Activity.java:4535)
   at com.app.Register.MainActivity.onClick(Unknown Source)
   at android.view.View.performClick(View.java:5702)
   at android.widget.TextView.performClick(TextView.java:10887)
   at android.view.View$PerformClick.run(View.java:22533)
   at android.os.Handler.handleCallback(Handler.java:739)
   at android.os.Handler.dispatchMessage(Handler.java:95)
   at android.os.Looper.loop(Looper.java:158)
   at android.app.ActivityThread.main(ActivityThread.java:7224)
   at java.lang.reflect.Method.invoke(Method.java)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Caused by android.os.TransactionTooLargeException: data parcel size 8177736 bytes
   at android.os.BinderProxy.transactNative(Binder.java)
   at android.os.BinderProxy.transact(Binder.java:503)
   at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:3130)
   at android.app.Instrumentation.execStartActivity(Instrumentation.java:1540)
   at android.app.Activity.startActivityForResult(Activity.java:4283)
   at android.app.Activity.startActivityForResult(Activity.java:4230)
   at android.support.v4.app.FragmentActivity.startActivityForResult(Unknown Source)
   at android.app.Activity.startActivity(Activity.java:4567)
   at android.app.Activity.startActivity(Activity.java:4535)
   at ca.dailydelivery.driver.Register.AdditionalInfoActivity.onClick(Unknown Source)
   at android.view.View.performClick(View.java:5702)
   at android.widget.TextView.performClick(TextView.java:10887)
   at android.view.View$PerformClick.run(View.java:22533)
   at …
Run Code Online (Sandbox Code Playgroud)

android android-intent startactivityforresult

3
推荐指数
1
解决办法
9122
查看次数

在构建时解析 xml 文件并修改其值/内容

我想在文件中的构建期间解析 xml 文件build.gradle,并想要修改 xml 的某些值,我遵循这个 SO 问题和答案在 Groovy 中加载、修改和编写 XML 文档,但无法在我的 xml 文件中进行任何更改。谁能帮我吗。谢谢

代码build.gradle

def overrideLocalyticsValues(String token) {
def xmlFile = "/path_to_file_saved_in_values/file.xml"
def locXml = new XmlParser().parse(xmlFile)

locXml.resources[0].each {
    it.@ll_app_key = "ll_app_key"
    it.value = "123456"
}
XmlNodePrinter nodePrinter = new XmlNodePrinter(new PrintWriter(new FileWriter(xmlFile)))
nodePrinter.preserveWhitespace = true
nodePrinter.print(locXml)
}
Run Code Online (Sandbox Code Playgroud)

xml文件:

<resources>
<string name="ll_app_key" translatable="false">MY_APP_KEY</string>
<string name="ll_gcm_sender_id" translatable="false">MY_GCM_SENDER_ID</string>
</resources>
Run Code Online (Sandbox Code Playgroud)

groovy xml-parsing build.gradle android-gradle-plugin

2
推荐指数
1
解决办法
2116
查看次数

视图的高度和宽度始终为0(getMeasuredHeight()和getHeight()都不起作用)

我有一个LinearLayout内部LinearLayout和一个孩子linearlayout有它的layout params地方,height并被width定义为

LinearLayout linearLayout=new LinearLayout(context);
        LinearLayout.LayoutParams lp=new LinearLayout.LayoutParams(50,50);
        linearLayout.setLayoutParams(lp);
Run Code Online (Sandbox Code Playgroud)

现在后视图中创建我试图从获得一个视图的高度getHeight()getMeasuredHeight(),但是这两种方法返回0.?

  int heightofView=linearLayout.getHeight(); 
  int heightofview=linearLayout.getMeasuredHeight();
Run Code Online (Sandbox Code Playgroud)

为什么这两个方法都返回0视图的高度?当这些方法返回实际结果时?如何获得我创建的视图的高度?

java android android-layout android-linearlayout

1
推荐指数
1
解决办法
1640
查看次数

如果启用后退按钮,工具栏标题不会正确显示在中心

我想toolbar在中心显示标题,所以我使用自定义textview来显示这样的标题:

       <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="@color/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay">

        <TextView
            android:id="@+id/toolbar_title"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center"
            android:text="Title"
            android:textColor="@android:color/white"
            android:textSize="25sp"
            android:textStyle="bold" />
    </android.support.v7.widget.Toolbar>
Run Code Online (Sandbox Code Playgroud)

代码:

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    TextView title = (TextView) toolbar.findViewById(R.id.toolbar_title);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setDisplayShowHomeEnabled(true);
    title.setText("Title");
    toolbar.setNavigationOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            onBackPressed();
        }
    });
Run Code Online (Sandbox Code Playgroud)

结果 :

在此处输入图片说明

如果我启用工具栏的后退按钮,标题文本不会正确显示在中心。

如果未启用工具栏的后退按钮,则一切正常,即

如果

getSupportActionBar().setDisplayHomeAsUpEnabled(false);
getSupportActionBar().setDisplayShowHomeEnabled(false);
Run Code Online (Sandbox Code Playgroud)

结果 :

在此处输入图片说明

现在,我还想在工具栏启用后退按钮的情况下在中心显示标题。这该怎么做 ?任何帮助

xml android android-toolbar

1
推荐指数
1
解决办法
2153
查看次数

如何设置AlertDialog自定义标题上边距并删除不需要的填充?

我坚持marginpadding一个标题的问题AlertDialog.Builder,我正在做的是我想要标题,center所以我使用setCustomTitle我能够这样做,但坚持边缘​​和填充它.我不希望显示不需要的填充,我也想设置一些标题的顶部边距,我正在使用,LinearLayout.LayoutParams但它没有任何影响.请建议如何处理它.谢谢

代码:

dialog = new AlertDialog.Builder(context, R.style.DialogTheme);
TextView title = new TextView(context);
title.setTextColor(ContextCompat.getColor(context, R.color.black));
title.setTextSize(TypedValue.COMPLEX_UNIT_SP, 20);
title.setTypeface(Typeface.DEFAULT_BOLD);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
lp.setMargins(0, 20, 0, 0);
title.setLayoutParams(lp);
title.setText("Dialog");
title.setGravity(Gravity.CENTER);
dialog.setCustomTitle(title);
dialog.setMessage("Dialog box with custom title view ");
dialog.setCancelable(false);
dialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {

    }
});
dialog.show();
Run Code Online (Sandbox Code Playgroud)

结果:在此输入图像描述

android android-alertdialog android-dialog

1
推荐指数
1
解决办法
7087
查看次数