我对xml优化有疑问(我认为)。问题是我想通过短信通信创建程序打开和关闭我家的灯。我希望它看起来有3个矩形的#34;框架"所以我在相对布局中使用了3个相对布局(我不知道它是否是正确的做事方式)。好的代码方面就像发送短信一样,我使用asynctask工作正常,用户界面很顺利,但是当打开应用程序时会出现问题,即使我在按钮上没有任何功能时也会加载很长时间我想更改Intent以启动新的活动options.xml然后应用程序崩溃,当我有简单的UI然后意图正在改变,现在它已经冻结了。可以重载xml是个问题吗?
<LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:weightSum="1" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true"> <RelativeLayout android:layout_width="match_parent" android:background="@drawable/border" android:layout_margin="5dp" android:layout_height="129dp"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" app:srcCompat="@drawable/logo" android:layout_centerVertical="true" android:layout_centerHorizontal="true" android:id="@+id/imageView" /> </RelativeLayout> <RelativeLayout android:layout_width="match_parent" android:layout_margin="5dp" android:background="@drawable/border" android:layout_height="129dp"> <Button android:id="@+id/onbutton" android:text="WŁĄCZ" android:textColor="#000000" android:textSize="20sp" android:layout_width="100dp" android:background="@drawable/onbutton_selector" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_marginLeft="15dp" android:layout_marginRight="15dp" android:layout_marginBottom="15dp" android:layout_height="50dp" /> <Button android:text="WYŁĄCZ" android:textColor="#000000" android:textSize="20sp" android:id="@+id/offbutton" android:background="@drawable/offbutton_selector" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" android:layout_marginRight="15dp" android:layout_marginBottom="15dp" android:layout_below="@+id/nazwastacji" android:layout_height="50dp" android:layout_width="100dp" /> <TextView android:text="PODAJ NAZAWE STACJI" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/nazwastacji" android:gravity="center" android:textAppearance="@style/TextAppearance.AppCompat.Button" android:layout_margin="5dp" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" android:layout_above="@+id/onbutton" android:layout_alignParentTop="true" /> <Button android:layout_width="50dp" android:layout_height="50dp" android:background="@drawable/clock_selector" android:id="@+id/buttonclock" android:layout_below="@+id/nazwastacji" android:layout_centerHorizontal="true" /> </RelativeLayout> <RelativeLayout android:layout_width="match_parent" android:background="@drawable/border" android:layout_margin="5dp" android:layout_height="129dp"> <Button android:layout_width="60dp" android:id="@+id/termobutton" android:background="@drawable/termometr_selector" android:layout_height="60dp" android:layout_centerVertical="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" android:layout_marginRight="30dp" android:layout_marginEnd="30dp" /> <TextView android:text="POMIAR TEMPERATURY" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="46dp" android:layout_marginStart="46dp" android:id="@+id/textview1" android:textAppearance="@style/TextAppearance.AppCompat.Button" android:layout_alignTop="@+id/termobutton" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> <TextView android:text="°C" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@+id/textpomiar" android:layout_toRightOf="@+id/textpomiar" android:layout_toEndOf="@+id/textpomiar" android:id="@+id/textview2" android:textAppearance="@style/TextAppearance.AppCompat.Button" /> <TextView android:text="NULL" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="32dp" android:layout_marginStart="32dp" android:id="@+id/textpomiar" android:textAppearance="@style/TextAppearance.AppCompat.Display1" android:layout_alignBottom="@+id/termobutton" android:layout_alignLeft="@+id/textview1" android:layout_alignStart="@+id/textview1" /> </RelativeLayout> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:background="@drawable/opcje" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/opcjebutton" android:onClick="sendMessage" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" /> </RelativeLayout> </LinearLayout> </RelativeLayout>
EDIT 是的,我正在考虑lineayLayout。我不认为我的活动存在问题,这就是它。 WlaczSms()是异步任务,工作正常
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
onbutton = (Button)findViewById(R.id.onbutton);
onbutton.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
new WlaczSms().execute();
return true;
}
});
当我添加启动包含oncreate方法的新意图并将设置内容视图添加到新布局时,它只是滞后
button = (Button)findViewbyId(R.id.onbutton);
button.setOnLongClickListener(new View.OnLongClickListener(){
@Override
public boolean onLongClick(View view){
Intent intent = new Intent(MainActivity.this, newclass.class);
StartActivity(intent);
}
}