我想为我的Android按钮制作一个drawable,定义为drawable.我发现我可以通过使用一个矩形来设置所有边框,但是当我想要三面时,我有点卡住了.我希望例如打开顶部或底部.
谁能告诉我怎么做?
我使用这个例子并试图以编程方式将它添加到我的编辑文本中editText.setBackgroundResource(R.drawable.edit_text_back);,但它不起作用.我怎么能做到这一点?有什么建议或想法吗?
编辑 editText也是以编程方式定义的.
EditText editText = new EditText(this.getApplicationContext());
Run Code Online (Sandbox Code Playgroud)
我把它添加到表格行
受审
editText.setBackground(getResources().getDrawable(R.drawable.edit_text_back));
editText.setBackgroundDrawable(getResources().getDrawable(R.drawable.edit_text_back));
Run Code Online (Sandbox Code Playgroud)
编辑文本创建
TableRow row = (TableRow) findViewById(R.id.table_row_kind);
TableRow.LayoutParams rowP = new TableRow.LayoutParams();
rowP.setMargins(10, 0, 0, 0);
editText = new EditText(this.getApplicationContext());
editText .setGravity(Gravity.FILL_HORIZONTAL);
editText .setLayoutParams(rowP);
editText .setFilters(new InputFilter[]{txtFilter});
editText.setBackground(getResources().getDrawable(R.drawable.edit_text_back));
Run Code Online (Sandbox Code Playgroud)
row.xml
<TableRow
android:id="@+id/table_row_kind"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="5dip" >
<TextView
android:layout_width="250sp"
android:text="Kind"
android:textAppearance="?android:attr/textAppearanceLarge" />
</TableRow>
Run Code Online (Sandbox Code Playgroud) 我正在尝试为我的按钮创建一个具有不同状态的可绘制形状.所以我写了这个:
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true" android:color="@android:color/black" >
<shape android:shape="rectangle" >
<solid android:color="@color/NEGATIVE_pressed" />
<stroke
android:width="1dp"
android:color="@color/ORANGE" />
<corners android:radius="4dp" />
</shape>
</item>
<item android:state_focused="true" android:color="@android:color/black" >
<shape android:shape="rectangle" >
<solid android:color="@color/NEGATIVE_focused" />
<stroke
android:width="1dp"
android:color="@color/ORANGE" />
<corners android:radius="4dp" />
</shape>
</item>
<item android:color="@android:color/black" >
<shape android:shape="rectangle" >
<solid android:color="@color/NEGATIVE" />
<stroke
android:width="1dp"
android:color="@color/NEGATIVE" />
<corners android:radius="4dp" />
</shape>
</item>
</selector>
Run Code Online (Sandbox Code Playgroud)
然后在我的按钮中我用它作为 android:background="@drawable/btn_negative_selector"
但是,我想绘制一个底部边框到那个形状,就像3 dp和不同颜色,但我无法弄清楚如何做到这一点.我试过搜索,但找不到适合选择器的东西.有什么建议吗?
我想在我的Android应用程序中使白色文本具有黑色轮廓.我不想为textview着色,所以如果那是你的帮助那么我就不知道怎么做了.我想通过使用xml格式的可绘制文件来实现这一点.那么我可以在xml中勾勒出文本的边缘吗?
我正在使用那个"黑客".我在stackoverflow中已经阅读过了.
@Override
public void draw(Canvas canvas) {
for (int i = 0; i < 20; i++) {
super.draw(canvas);
}
}
Run Code Online (Sandbox Code Playgroud)
但我的边框仍然是冰沙,我想在我的所有TextView上放置一个大而实心的边框(我已经有了我的组件扩展了textview).
我有一个文本颜色的选择器,当我在这个文本中单击文本颜色需要更改.(它已经工作,但我尝试使用画布应用另一种替代方案,在这个替代方案中,我失去了这个组合).
我有一个png drawable按钮.但是它的图像drawable有渐变,当应用9patch时它看起来很糟糕(渐变和9patch不兼容).我想用形状来做这件事.但我不能用android形状绘图,因为我很难理解它.
你能帮我用形状画出这个图像吗?
它包含一个边框渐变,内部是橙色矩形,圆角和阴影120°
有没有办法在TextView上显示带边框的文本?
我正在尝试更改EditText的底线颜色,但它显示默认的蓝线颜色.我无法理解我哪里出错了?
<EditText
android:id="@+id/searchtext"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="15dp"
android:textColor="#000000"
android:layout_alignParentTop="true"
android:maxLines="1"
android:singleLine="true"
android:layout_toLeftOf="@+id/usericonlayout"
android:padding="7dp"
android:layout_marginTop="10dp"
android:hint="Search for all GIFs"
android:textColorHint="#A0A0A0"
android:shadowColor="@color/border_gray"
android:theme="@style/EditTextStyle"/>
Run Code Online (Sandbox Code Playgroud)
styles.xml
<style name="AppBaseTheme" parent="android:Theme.Light">
<item name="colorAccent">@color/border_gray</item>
<item name="android:editTextStyle">@style/EditTextStyle</item>
</style>
<style name="AppTheme" parent="AppBaseTheme">
<item name="colorAccent">@color/border_gray</item>
<item name="android:editTextStyle">@style/EditTextStyle</item>
</style
<style name="EditTextStyle" parent="Widget.AppCompat.EditText">
<item name="colorControlNormal">@color/border_gray</item>
<item name="colorControlActivated">@color/border_gray</item>
<item name="colorControlHighlight">@color/border_gray</item>
</style>
Run Code Online (Sandbox Code Playgroud)
我也尝试过 -
edittext.getBackground().setColorFilter(getResources().getColor(R.color.border_gray), PorterDuff.Mode.SRC_ATOP);
Run Code Online (Sandbox Code Playgroud)
但没有奏效
我得到了一些代码,但没有得到 -
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:thickness="0dp"
android:shape="rectangle">
<stroke android:width="2dp"
android:color="#00cc33"/>
</shape>
Run Code Online (Sandbox Code Playgroud)
它提供边框颜色,但背景颜色为黑色.提前致谢...