Android - 如何在带有 ✔ 的按钮上设置文本颜色作为 Android M 上的文本
Android - How to set Text Color on a button with ✔ as text on Android M
在 Android 月
button.setText("✔");
button.setTextColor(Color.WHITE);
不知道为什么不起作用?
如何获得 ✔ 白色?
其实你可以添加drawable来查看。就像 xml 中的那样:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Load More"
android:id="@+id/loadMore"
android:drawableLeft="@drawable/your_marked_icon"
android:drawableRight="@drawable/another_icon_if_need"
style="?android:attr/borderlessButtonStyle"
android:layout_centerHorizontal="true" />
您也可以在您的代码中这样做:
Drawable top = getResources().getDrawable(R.drawable.image);
//placement is like that : left, top, right, bottom
button.setCompoundDrawablesWithIntrinsicBounds(null, top , null, null);
我采用了这个解决方案:How to set property “android:drawableTop” of a button at runtime
您也可以像这样更改可绘制对象的色调值:
public static Drawable setTint(Drawable d, int color) {
Drawable wrappedDrawable = DrawableCompat.wrap(d);
DrawableCompat.setTint(wrappedDrawable, color);
return wrappedDrawable;
}
此解决方案基于:change color of drawable
尝试这样做,
在您的 xml 文件中,
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/coordinator"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@mipmap/ic_launcher"
android:hint="hii" />
</LinearLayout >
现在,在您的 java 文件中添加此代码,例如
public class SixthActivity extends AppCompatActivity {
Button btn;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_activity);
btn = (Button) findViewById(R.id.btn);
btn.setText("");
btn.setBackgroundColor(getResources().getColor(R.color.white));
btn.setBackgroundResource(R.mipmap.ic_launcher);
}
}
您也可以将 unicode 用于刻度线,尝试将 ✓
与字符串一起使用并将其设置为您的文本视图。
在 Android 月
button.setText("✔");
button.setTextColor(Color.WHITE);
不知道为什么不起作用?
如何获得 ✔ 白色?
其实你可以添加drawable来查看。就像 xml 中的那样:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Load More"
android:id="@+id/loadMore"
android:drawableLeft="@drawable/your_marked_icon"
android:drawableRight="@drawable/another_icon_if_need"
style="?android:attr/borderlessButtonStyle"
android:layout_centerHorizontal="true" />
您也可以在您的代码中这样做:
Drawable top = getResources().getDrawable(R.drawable.image);
//placement is like that : left, top, right, bottom
button.setCompoundDrawablesWithIntrinsicBounds(null, top , null, null);
我采用了这个解决方案:How to set property “android:drawableTop” of a button at runtime
您也可以像这样更改可绘制对象的色调值:
public static Drawable setTint(Drawable d, int color) {
Drawable wrappedDrawable = DrawableCompat.wrap(d);
DrawableCompat.setTint(wrappedDrawable, color);
return wrappedDrawable;
}
此解决方案基于:change color of drawable
尝试这样做,
在您的 xml 文件中,
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/coordinator"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@mipmap/ic_launcher"
android:hint="hii" />
</LinearLayout >
现在,在您的 java 文件中添加此代码,例如
public class SixthActivity extends AppCompatActivity {
Button btn;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_activity);
btn = (Button) findViewById(R.id.btn);
btn.setText("");
btn.setBackgroundColor(getResources().getColor(R.color.white));
btn.setBackgroundResource(R.mipmap.ic_launcher);
}
}
您也可以将 unicode 用于刻度线,尝试将 ✓
与字符串一起使用并将其设置为您的文本视图。