Относительная задержка wrap_content не работает
Это мой код xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:id="@+id/tt">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/trashParent"
android:visibility="visible"
android:orientation="horizontal"
android:layout_alignParentBottom="true">
<LinearLayout
android:background="@drawable/bgtrash"
android:layout_width="match_parent"
android:layout_height="140dp"
android:baselineAligned="false"
android:orientation="horizontal">
</LinearLayout>
</RelativeLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:id="@+id/parentTrash"
android:layout_marginBottom="30dp"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true">
<
</LinearLayout>
как мы можем видеть родительский вид с идентификатором android:id="@+id/tt"
его высота и ширина его wrap_content я знаю, если какой-то ребенок имеет android:layout_alignParentBottom="true"
поэтому wrap_conent не работает, его будет как match_parent
но теперь я делаю это в Java, я должен метод будет скрывать и показывать ребенка
private void hide(){
trashParent.setVisibility(View.GONE);
parentTrash.setVisibility(View.GONE);
}
private void show(){
trashParent.setVisibility(View.VISIBLE);
parentTrash.setVisibility(View.VISIBLE);
}
теперь, когда я прячу ребенка и делаю его wrap_content его все еще совпадающим с родителем, это код запуска
hide();
RelativeLayout.LayoutParams chatHeadParentParamst = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
tt.setLayoutParams(chatHeadParentParamst);
tt.setBackgroundColor(Color.YELLOW);
измените высоту tt на wrap_content, потому что некоторое время он будет совпадать с родителем, но после изменения на wrap_conent он все равно будет похож на match_parent Gone
и я установил его на wrap_conent
потому что, когда я использую задержку своей работы это задержка
hide();
Handler handler = new Handler(Looper.getMainLooper());
Runnable runnable = new Runnable() {
@Override
public void run() {
hide(); // i dont no must i call it again to work
RelativeLayout.LayoutParams chatHeadParentParamst = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
tt.setLayoutParams(chatHeadParentParamst);
tt.setBackgroundColor(Color.YELLOW);
Log.d("called now delay","wwwwwwwww");
}
};
handler.postDelayed(runnable, 1100);
с задержкой теперь его размер изменяется на wrap_conent без задержки, он будет таким же, как match_parent, но все дочерние видимости были gone
я могу использовать LinerLayout, я должен использовать RaltiveLayout, потому что мне нужен ребенок один на один