java - 将图像放在动态生成的 TextView 左侧的问题

标签 java android textview android-linearlayout

我动态创建了一个 TextView 并将其添加到线性布局中。 TextView 应该在其左侧有一个图标。我添加了图标并希望 TextView 位于中心。

代码:

TextView valueTV = new TextView(getContext());
        valueTV.setText(richPost.getPostCreateDate());
        valueTV.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_launcher, 0, 0, 0);
        valueTV.setGravity(Gravity.CENTER);
        llInner.addView(valueTV);

输出:

output result

我希望图像位于文本之前,并希望消除两者之间的巨大差距。文字在适当的位置,我希望图像在文字旁边居中。我哪里错了?我该怎么办?

最佳答案

首先,通过将以下代码添加到您的代码中,使您的 TextView 包装其内容:

valueTV.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

此外,要使图标和文本在 LiniarLayout 中居中,您可以通过将其添加到 LinearLayout 来实现:

yourLinearLayout.setGravity(Gravity.CENTER_HORIZONTAL);
yourLinearLayout.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));

关于java - 将图像放在动态生成的 TextView 左侧的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31694204/

相关文章:

java - arraylist remove 删除以下对象

java - 我想使用共享首选项保存,但应用程序崩溃了

android - 尝试使用 cordova 构建 APK 时出错 | :app:mergeReleaseResources FAILED

android - 如何在段落的单词之间添加空格以在 Android 中的 Textview(即对齐文本)中删除结尾的空格?

Android:想要为整个应用程序而不是运行时设置自定义字体

java - 由于 AsyncTask onPostExecute(),ArrayAdapter<String> 中出现 Android NullPointerException

java - 如何使用javaFX播放多个连续的声音文件?

java - 更改 TextView 的文本会引发 NullPointer 异常

java - 即使在 onComplete() 之后也保持流 Activity

android - 如何使用新数据更新 TabLayout 中的 fragment ?