据我所知,已多次讨论,但我找不到解决方案。 我特意在颜色上标记了所有颜色。这是AlertDialog。
为什么修剪文本本身?我做错了什么?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/dialogs_background_gradient"
android:orientation="vertical">
<LinearLayout
android:id="@+id/dialNewGroupCustomNameLay"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/customNameTextView"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.3"
android:gravity="left|center_vertical"
android:paddingLeft="10dp"
android:text="@string/group_custom_name_label"
android:textColor="@color/white"
android:textSize="15dp" />
<EditText
android:id="@+id/newGrNameEditText"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_gravity="center_vertical"
android:layout_weight="0.7"
android:textColor="@color/white"
android:textCursorDrawable="@null" />
</LinearLayout>
<LinearLayout
android:id="@+id/dialNewGroupDefinedLangsLay"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_margin="3dp"
android:background="@color/white" />
<LinearLayout
android:id="@+id/newGrDialLangFrom"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.6"
android:orientation="vertical"></LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_margin="3dp"
android:background="@color/white" />
</LinearLayout>
<LinearLayout
android:id="@+id/newGrNameLay"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/purple"
android:orientation="horizontal"
android:paddingBottom="30dp"
android:paddingTop="10dp">
<TextView
android:id="@+id/groupNameTextView"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.3"
android:background="@color/red"
android:gravity="left|center_vertical"
android:paddingLeft="10dp"
android:text="@string/group_name_label"
android:textColor="@color/white"
android:textSize="15dp" />
<TextView
android:id="@+id/newGrNameTextView"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.7"
android:background="@color/green"
android:gravity="left|center_vertical"
android:paddingLeft="10dp"
android:paddingBottom="10dp"
android:text="@string/group_name_label"
android:textColor="@color/white"
android:textSize="17dp" />
</LinearLayout>
</LinearLayout>
添加了完整的XML。还有必要考虑LinearLayout在AlertDialog中。
答案 0 :(得分:0)
文字高度+填充将导致Teaxtbox(match_parent)的高度。
答案 1 :(得分:0)
你的LinearLayout从其子节点获得高度:
//global scope
int pos_clicked=-1;
class View_Holder extends RecyclerView.ViewHolder implements View.OnClickListener {
TextView txt;
public View_Holder(View itemView) {
super(itemView);
txt = (TextView) itemView.findViewById(R.id.txt);
txt.setOnclickListener(this);
}
@Override
public void onClick(View v) {
Intent intent;
pos_clicked=getAdapterPosition();
notifyDataSetChanged();
}}
@Override
public void onBindViewHolder(View_Holder holder, int position) {
if(pos_clicked==position){
holder.txt.setVisibility(View.VISIBLE);
}
else{
holder.txt.setVisibility(View.GONE);
}}
并且子项从父LinearLayout获取高度:
android:layout_height="wrap_content"
这是错误。你应该有一个实际指定高度的地方。
答案 2 :(得分:0)