宽度自适应:
container = (LinearLayout) rootView.findViewById(R.id.update_float_container);
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) container.getLayoutParams();
params.width = context.getResources().getDisplayMetrics().widthPixels;
container.setLayoutParams(params);
完整代码
public class UpdateFloatView extends LinearLayout {
private Context context;
private LinearLayout container;
private TextView closeView;
private TextView confirmView;
private TextView promptView;
public UpdateFloatView(Context context) {
super(context);
this.context = context;
init();
}
private void init() {
View rootView = inflate(getContext(), R.layout.update_apk_float_view, this);
container = (LinearLayout) rootView.findViewById(R.id.update_float_container);
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) container.getLayoutParams();
params.width = context.getResources().getDisplayMetrics().widthPixels;
container.setLayoutParams(params);
closeView = (TextView) rootView.findViewById(R.id.update_float_close);
promptView = (TextView) rootView.findViewById(R.id.update_float_prompt);
confirmView = (TextView) rootView.findViewById(R.id.update_float_confirm);
confirmView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(onConfirmClickListener != null)
{
onConfirmClickListener.onConfirmClick();
}
}
});
closeView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
UpdateApkDialog.dismissTeleport();
}
});
}
public void setMessageText(String messageText) {
if(TMTextUtil.isEmpty(messageText) == false)
{
promptView.setText(messageText);
}
}
interface OnConfirmClickLisntener
{
public void onConfirmClick();
}
private OnConfirmClickLisntener onConfirmClickListener;
public void setConfirmAction(String confirmText, OnConfirmClickLisntener onConfirmClickListener)
{
confirmView.setText(confirmText);
this.onConfirmClickListener = onConfirmClickListener;
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/update_float_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center_horizontal"
android:padding="2dp"
android:background="@drawable/update_apk_container_background">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="48dp"
android:orientation="horizontal"
android:gravity="center_vertical"
android:background="@drawable/update_apk_float_background">
<com.tmall.wireless.mui.TMIconFontTextView
android:id="@+id/update_float_close"
android:text=""
android:gravity="center"
android:textSize="14dp"
android:paddingLeft="6dp"
android:paddingRight="8dp"
android:textColor="#999999"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
<TextView
android:id="@+id/update_float_prompt"
android:layout_width="270dp"
android:layout_height="wrap_content"
android:textSize="14dp"
android:text="@string/update_apk_prompt"
android:textColor="#051b28"
android:gravity="left" />
<TextView
android:id="@+id/update_float_confirm"
android:layout_width="50dp"
android:layout_height="24dp"
android:textColor="#CD2626"
android:textSize="14dp"
android:text="@string/update_apk_confirm"
android:background="@drawable/update_apk_confirm_background"
android:gravity="center"
android:textAlignment="center"
android:layout_marginRight="5dp"
android:layout_marginLeft="5dp"/>
</LinearLayout>
</LinearLayout>