【发布时间】:2016-07-27 18:14:46
【问题描述】:
我有问题。我想以编程方式设置边距参数,但它不起作用。 我有这个 xml 样式表:
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
</android.support.design.widget.AppBarLayout>
<ImageView
android:layout_width="1440px"
android:layout_height="1000px"
android:id="@+id/post_view_photo"
android:transitionName="@string/transition_image"/>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|start"
android:layout_margin="@dimen/fab_margin"
app:layout_anchor="@+id/post_view_photo"
android:src="@android:drawable/stat_notify_chat"
app:layout_anchorGravity="bottom|end" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_anchor="@+id/post_view_photo"
app:layout_anchorGravity="bottom|start">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/text_bar"
android:background="@color/colorPrimary">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/username_text"
android:layout_gravity="center_vertical|start"
app:layout_anchor="@+id/post_view_photo"
app:layout_anchorGravity="bottom|start"
android:textSize="25dp"
android:transitionName="@string/transition_username"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="808px"
android:id="@+id/view_bottom_layout">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:id="@+id/post_user_image"
android:src="@drawable/back"
android:paddingTop="10px"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/post_view_maintext"/>
</LinearLayout>
</LinearLayout>
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="#414141"/>
</LinearLayout>
我想以编程方式设置边距。但我得到这个错误:
java.lang.ClassCastException: android.support.design.widget.CoordinatorLayout$LayoutParams cannot be cast to android.widget.LinearLayout$LayoutParams
我在我的活动中这样做:
LinearLayout bottomLayout = (LinearLayout)findViewById(R.id.view_bottom_layout);
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) bottomLayout.getLayoutParams();
params.setMargins(0,imageView.getHeight(),0,0);
bottomLayout.setLayoutParams(params);
我能做些什么来解决这个问题?我没有发现任何对我有帮助的东西。谢谢!
【问题讨论】:
标签: android xml android-activity android-linearlayout