问题描述
- Android显示问题:TextView更改宽度之后后面出现黑色条
-
我点击按钮更改了TextView的宽度之后就出现了后面背景有一部分黑色的,如果是跳转到其他程序再跳转回来黑色的就消失了,而这个更改宽度后出现黑色的现象在三星真机上不会出现,是在模拟器上出现的,想知道原因是什么,还有解决办法是什么。
更改前后的图片如下:
因为是刚开的号,没有C币了,所以给不了,不好意思。
解决方案
解决方案二:
没有源码,刚看这个也看不出什么
解决方案三:
把你的代码复制出来,好看是什么原因。
解决方案四:
代码很简单
public class MainActivity extends Activity {
View tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv=findViewById(R.id.tv);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
private static class ViewWrapper {
private View mTarget;
public ViewWrapper(View target) {
mTarget = target;
}
@SuppressWarnings("unused")
public int getWidth() {
return mTarget.getLayoutParams().width;
}
@SuppressWarnings("unused")
public void setWidth(int width) {
mTarget.getLayoutParams().width = width;
mTarget.requestLayout();//刷新组件
}
}
//改变TextView宽度的动画
//将其宽度拉长
@SuppressLint("NewApi")
public void start(View v){
ViewWrapper wrapper = new ViewWrapper(tv);
ObjectAnimator.ofInt(wrapper, "width", 500).setDuration(1000).start();
}
//直接改变TextView宽度
//将其宽度设为80
@SuppressLint("NewApi")
public void reset(View v){
tv.getLayoutParams().width=80;
tv.requestLayout();
}
}
时间: 2024-11-11 13:14:32