安卓中经常使用控件遇到问题解决方法(持续更新和发现篇幅)(在textview上加一条线、待续)
TextView设置最多显示30个字符。超过部分显示...(省略号),有人说分别设置TextView的android:signature="true",而且设置android:ellipsize="end";可是我试了。居然成功了,供大家參考
- <TextView
- android:id="@+id/tv"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:maxEms="18"
- android:singleLine="true"
- android:ellipsize="end"
- />
TextView是常常会在listview中作数据显示。然而像非常多团购那样,常常会有什么爆款,打折,原价啥,一个textview就这么被一天线强插而入。
普通情况下我们会想都不想直接在布局文件上加那个线。可是往往效果并没那么好看。福利来了,通过JAVA代码在上面加一条线。
以下看代码:直接在文字上加一条线岂不是更好...
- StringBuffer sbf = new StringBuffer("¥"+goods.getValue());//将获取到的商品信息存入到BUFFER里面去
- //加入中划线
- SpannableString spannable = new SpannableString(sbf);
- spannable.setSpan(new StrikethroughSpan(), 0, sbf.length(), Spanned.SPAN_INCLUSIVE_INCLUSIVE);
- holder.value.setText(spannable);//给控件赋值
-
在scrollview中会常常遇到滑动不兼容的。或者第一次进去的时候位置就混乱了,现也贴出代码看下:
-
// 滚动栏到顶部去了
mViewFlow.setFocusable(true);
mViewFlow.setFocusableInTouchMode(true);
mViewFlow.requestFocus(); - 当中的mViewFlow是指定的顶端的控件。仅仅要切换就可以
-
// 设置字符的变更
feedBackText.addTextChangedListener(new TextWatcher() {
private CharSequence temp;
private int selectionStart;
private int selectionEnd;
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
public void onTextChanged(CharSequence s, int start, int before,
int count) {
temp = s;
}
public void afterTextChanged(Editable s) {
int number = s.length();// 获得长度
textNum.setText("" + number + "/1000");
selectionStart = feedBackText.getSelectionStart();
selectionEnd = feedBackText.getSelectionEnd();
if (temp.length() > 1000) {
s.delete(selectionStart - 1, selectionEnd);
int tempSelection = selectionEnd;
feedBackText.setText(s);
feedBackText.setSelection(tempSelection);// 设置光标在最后
}
}
}); - 当中的mViewFlow是指定的顶端的控件,仅仅要切换就可以 当输入框里面的字符长度变更的时候,后面的也就跟着变更了
设置activity无标题
方法一:
在Manifest.xml中为activity添加属性: android:theme="@android:style/Theme.NoTitleBar"
方法二:
在activity的onCreate()中增加:requestWindowFeature(Window.FEATURE_NO_TITLE);
2.设置activity全屏
方法一:
在Manifest.xml中为activity添加属性: android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
方法二:
代码中添加方法:
public void setFullScreen(boolean isFullScreen) {
if (isFullScreen) {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
} else {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
}
}
true为设置全屏, false非全屏