使用Marshmallow 6.0手机Moto G3时似乎存在一些渲染问题。使用Lollipop它可以正常工作。
我在清单
中使用这些设置android:minSdkVersion="14"
android:targetSdkVersion="21"
使用设置为API 23的Android演播室预览屏幕进行调试时,我无法找到任何渲染问题。
任何想法如何解决这个问题?
这是有问题的布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:minWidth="330dp"
android:minHeight="300dp"
android:background="@color/agrey"
android:gravity="center" >
<EditText
android:id="@+id/etNameny"
android:layout_width="180dp"
android:layout_height="40dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="45dp"
android:background="@drawable/myborderlist"
android:ems="5"
android:maxLength="10"
android:paddingLeft="5dp"
android:singleLine="true"
android:textColor="@color/black"
android:textSize="25dp" />
<Button
android:id="@+id/etDate1ny"
android:layout_width="180dp"
android:layout_height="40dp"
android:background="@drawable/myborderlist"
android:editable="false"
android:ems="5"
android:inputType="date|none"
android:maxLength="10"
android:onClick="setDate"
android:paddingLeft="5dp"
android:singleLine="true"
android:textAlignment="center"
android:textColor="@color/black"
android:textSize="25dp"
android:layout_above="@+id/trName"
android:layout_toRightOf="@+id/trName"
android:layout_toEndOf="@+id/trName">
</Button>
<EditText
android:id="@+id/inkl1ny"
android:layout_width="180dp"
android:layout_height="40dp"
android:background="@drawable/myborderlist"
android:ems="5"
android:maxLength="10"
android:paddingLeft="5dp"
android:singleLine="true"
android:textColor="@color/black"
android:textSize="25dp"
android:layout_below="@+id/momsprocent11ny"
android:layout_alignLeft="@+id/momsprocent11ny"
android:layout_alignStart="@+id/momsprocent11ny"
android:inputType="numberDecimal" />
<EditText
android:id="@+id/momsprocent11ny"
android:layout_width="180dp"
android:layout_height="40dp"
android:layout_alignLeft="@+id/etNameny"
android:layout_below="@+id/etNameny"
android:background="@drawable/myborderlist"
android:ems="5"
android:inputType="numberDecimal"
android:paddingLeft="5dp"
android:singleLine="true"
android:textColor="@color/black"
android:textSize="25dp" />
<TextView
android:id="@+id/trName"
android:layout_width="170dp"
android:layout_height="40dp"
android:layout_alignLeft="@+id/bClear1"
android:layout_toLeftOf="@+id/etNameny"
android:maxLength="10"
android:singleLine="false"
android:text="@string/tbName"
android:textColor="@color/black"
android:textSize="15dp"
android:layout_above="@+id/momsprocent11ny" />
<TextView
android:id="@+id/trDateCopy"
android:layout_width="170dp"
android:layout_height="40dp"
android:layout_alignBottom="@+id/momsprocent11ny"
android:layout_alignLeft="@+id/trName"
android:layout_toLeftOf="@+id/etDate1ny"
android:maxLength="10"
android:singleLine="true"
android:text="@string/tbVatProcent"
android:textColor="@color/black"
android:textSize="14dp" />
<TextView
android:id="@+id/tvAlv141"
android:layout_width="150dp"
android:layout_height="40dp"
android:layout_above="@+id/bClear1"
android:layout_toLeftOf="@+id/etDate1ny"
android:maxLength="6"
android:singleLine="true"
android:text="@string/tbSum"
android:textColor="@color/black"
android:textSize="14dp"
android:layout_alignLeft="@+id/trDateCopy" />
<Button
android:id="@+id/bClear1"
android:layout_width="90dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/inkl1ny"
android:layout_marginBottom="5dp"
android:layout_marginTop="36dp"
android:background="@drawable/myborderlist"
android:maxLength="6"
android:text="@string/akCancel" />
<Button
android:id="@+id/buttonMain"
android:layout_width="90dp"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/bAdd1"
android:layout_alignBottom="@+id/bAdd1"
android:layout_marginBottom="5dp"
android:layout_toRightOf="@+id/bClear1"
android:background="@drawable/myborderlist"
android:maxLength="6"
android:text="@string/akClear" />
<Button
android:id="@+id/bAdd1"
android:layout_width="90dp"
android:layout_height="wrap_content"
android:background="@drawable/myborderlist"
android:maxLength="6"
android:text="@string/akAdd"
android:layout_alignTop="@+id/bClear1"
android:layout_toRightOf="@+id/buttonMain"
android:layout_toEndOf="@+id/buttonMain" />
</RelativeLayout>
以下是Lollipop和Marshmallow之间的区别
答案 0 :(得分:0)
将编译版本更改为23,将targetsdkversion更改为23
//base model class with sorting
class dm : public QAbstractTableModel{
...
int rows;
int currow;
//sort
virtual void dosort(int column,Qt::SortOrder order){}
void sort(int column, Qt::SortOrder order=Qt::AscendingOrder){
if (rows>1) {
beginResetModel();
if (currow<0) currow=0;
dosort(column,order);
endResetModel();
emit sorted(currow);
}
}
}
//=================
// model for grid N
class dmN : public dm{
...
//one data row
struct mNrow{
int f_er;
Qstring * f_name;
...
};
//data rows: vector with pointers to mNrow structures
std::vector< mNrow * > mNrows;
public:
// compare func for column 0
struct fcmp0{bool operator()(mNrow * li,mNrow * lj){
return (QString::localeAwareCompare(*(li->f_name),*(lj->f_name))<0);
}} f0;
//compare func for column 1
struct fcmp1{bool operator()(mNrow * li,mNrow * lj){
return ((li->f_er)<(lj->f_er));
}} f1;
//do sorting
void dosort(int column,Qt::SortOrder order){
// !!!! this string I can't move to sort and have to copy to each dm
//save row ptr
mNrow * lrs=mNrows[currow];
if (column==0) {std::sort(r.begin(),r.end(),f0);}
else if (column==1) {std::sort(r.begin(),r.end(),f1);}
// !!!! this part I can't move to sort and have to copy to each dm
if (order!=Qt::AscendingOrder) {
int lj=(rows-1);
mNrow * lst;
for (int li=0;li<=( lj >> 1);li++){
lst=mNrows[li];
mNrows[li]=mNrows[lj-li];
mNrows[lj-li]=lst;
}
}
//goto saved row ptr
currow=-1;
int li=0;
for(std::vector<mNrow *>::iterator it = mNrows.begin(); it != mNrows.end(); ++it) {
if (*it==lrs) {currow=li;break;}
li++;
}
}
}
// grid N
class dgN : public QTableView{
...
dmN * dgNm;
}
希望这会对你有所帮助。
答案 1 :(得分:0)
似乎Marshmallow 6.0在渲染一些混乱的代码时遇到了一些问题,就像我在xml布局中那样。我改为线性布局并制作完成 布局更加严格和干净。
现在它有效。不要乱码,它会给渲染问题!